めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

BEARというフレームワークをMacOSXにインストールしてみた

CakePHPを利用する事が多いのですが、たまたまBEARというフレームワークがあることを知りました。今まで聞いた事がないフレームワークだったので、調べてみると第51回PHP勉強会@関東(http://events.php.gr.jp/events/show/93)で紹介されていました。

BEAR

詳しくは「bear-project - A resource oriented framework for PHP5.2+ - Google Project Hosting」を見ていただくとして、ページ&リソース指向でイベント駆動型のDIということで、読んだだけだとよくわからないので、インストールです

インストールの準備

MacPortsを利用して環境を用意しました。MySQLや、PostgresqlApacheについては既にインストール済みとしておきます。
PHPについてMacPortsでインストール使用と思ったんですが、最新のバージョンが5.3系になっており、CakePHPも併用したいので、5.2系でインストールすることにしました。

sudo port install php52 +apache2 +mysql5 +postgresql83 +pear +sockets +pcntl +ipc

ポイントは、+ipcと、+socketsというオプションです。このオプションでインストールされるextentionを利用する(依存した)pearライブラリがあるためです

インストール

インストール自体は、サイトに手順が書かれているのでこれの通りでした。
ただ、zendに関するpearのライブラリを使うのか、チャンネルを追加する必要がありました

$sudo pear channel-discover pear.zfcampus.org

PHP使いなら、zend関連ぐらい入れておけや!ということなのかも。

インストール直後のpear list

関係ないのもあるかもしれないけれど、とにかく多いです

Installed packages, channel pear.php.net:
=========================================
Package                           Version     State
Archive_Tar                       1.3.3       stable
Cache_Lite                        1.7.8       stable
Config                            1.10.11     stable
Console_Color                     1.0.2       stable
Console_CommandLine               1.1.3       stable
Console_Getargs                   1.3.4       stable
Console_Getopt                    1.2.3       stable
Console_ProgressBar               0.5.2beta   beta
Console_Table                     1.1.3       stable
Event_Dispatcher                  1.1.0       stable
File                              1.4.0alpha1 alpha
File_CSV                          1.0.0alpha1 alpha
File_Find                         1.3.0       stable
File_SearchReplace                1.1.2       stable
File_Util                         1.0.0alpha1 alpha
HTML_CSS                          1.5.4       stable
HTML_Common                       1.2.5       stable
HTML_Common2                      2.0.0RC1    beta
HTML_QuickForm                    3.2.11      stable
HTML_QuickForm2                   0.4.0       alpha
HTML_QuickForm_Renderer_Tableless 0.6.1       beta
HTML_Table                        1.8.3       stable
HTTP_Client                       1.2.1       stable
HTTP_Request                      1.4.4       stable
HTTP_Request2                     0.5.2       alpha
HTTP_Session2                     0.7.2       beta
I18N_UnicodeString                0.2.1       beta
Log                               1.12.1      stable
MDB2                              2.5.0b2     beta
MDB2_Driver_mysql                 1.5.0b2     beta
MDB2_Driver_mysqli                1.5.0b2     beta
Net_Server                        1.0.2       stable
Net_Socket                        1.0.9       stable
Net_URL                           1.0.15      stable
Net_URL2                          0.3.1       beta
Net_UserAgent_Mobile              1.0.0       stable
OLE                               1.0.0RC1    beta
PEAR                              1.9.0       stable
PEAR_PackageFileManager2          1.0.1       stable
PEAR_PackageFileManager_Plugins   1.0.1       stable
PHP_CodeSniffer                   1.2.2       stable
PHP_CompatInfo                    1.9.0       stable
PHP_Fork                          0.3.1       beta
Pager                             2.4.8       stable
PhpDocumentor                     1.4.3       stable
Services_JSON                     1.0.2       stable
Spreadsheet_Excel_Writer          0.9.2       beta
Structures_Graph                  1.0.2       stable
Text_Highlighter                  0.7.1       beta
Var_Dump                          1.0.3       stable
XML_Beautifier                    1.2.0       stable
XML_Parser                        1.3.2       stable
XML_RPC                           1.5.3       stable
XML_RPC2                          1.0.5       stable
XML_RSS                           1.0.0       stable
XML_Serializer                    0.20.0      beta
XML_Util                          1.2.1       stable

インストール確認

コマンドラインで。ヘルプを見ると、なにやら色々とありそう

$ bear -h
BEAR command line interface

Usage:
  bear [options]
  bear [options] <command> [options] [args]

Options:
  -h, --help     show this help message and exit
  -v, --version  show the program version and exit

Commands:
  create       create resource.
  read         show resource.
  update       update resource.
  delete       delete resource.
  clear-cache  clear all cache.
  clear-log    clear all log.
  clear-all    clear cache and log.
  init-app     create new application.
  set-app      set application path.
  show-app     show application path.
  make-doc     make application documents.

実際に動いている画面

実際に動いている画面を見ると、exciteのニュース記事が表示されます。どうしてまた...
動かすと、開発用のシェルが用意されたり、設定やら何か色々とできそうな感じです。CakePHPとは違い、硬派な感じのするフレームワークです(少なくとも、簡単だよ〜という印象はない)。