symfonyを使ってみよう(1/3)
ではここから実際にsymfonyをインストールして、ごく簡単なアプリケーションを作成してみることにしましょう。
symfony利用のための環境構築設定
symfonyにはsandboxという練習用環境まで用意されているのですが、今後実際にアプリケーションを作っていきますので、今回はこれを利用せず、一からインストールすることにしましょう。
→ダウンロード先
また、sandboxを使ったチュートリアルも公開されています。
インストールはPEARを使うのが便利です。PEARを使わなくてもインストールは可能ですが(詳細な手順についてはsymfony book(後述)を参照してください)が、本稿ではよりシンプルなPEARを用いた手順に沿って解説します。
[1]symfonyをインストールする
symfony本体のインストールは、コマンドプロンプトから以下の手順で行ってください。ここでは安定版の0.6.3ではなく、PHP5.2に正式対応しているベータ版の1.0.0-beta2をインストールします。
> pear upgrade PEAR (PEARをアップグレード) > pear channel-discover pear.symfony-project.com (symfonyのチャネルに接続) > pear install symfony/symfony-beta (symfonyをインストール) downloading symfony-1.0.0beta2.tgz ... Starting to download symfony-1.0.0beta2.tgz (1,632,555 bytes) ............................................................................................................................................
......................................................................
......................................................................
.........................................done: 1,632,555 bytes install ok: channel://pear.symfony-project.com/symfony-1.0.0beta2
インストールの成否については、symfonyコマンドで確認が可能です。
> symfony -V symfony version 1.0.0-beta2
上記のように、現在インストールされているsymfonyのバージョンが表示されれば、symfonyは正しくインストールされています。
symfonyをインストールすると、依存関係にあるpakeが合わせてインストールされます。pakeとは、主にsymfonyコマンドが内部で使用しているプロジェクト管理ツールです(名前はrubyのrakeコマンドからきています)。「pakefile.php」という設定ファイルに従って、後述するプロジェクトやアプリケーション、モジュールの管理作業を自動化しています。実際面ではsymfonyコマンドを入力することでpakeが使用されます。ちなみに2006年12月27日現在では、
- symfony 1.0.0-beta2
- pake 1.1.4
がインストールされます。実際はこれらと同時に、依存関係にあるcreole(データベースアクセス用ライブラリ)、propel(O/Rマッパー)がインストールされています。さらに0.6.3では必須にもかかわらず別個にインストールが必要だったphing(Javaで言うAntのようなもので、PHPアプリケーションのテストやアーカイブ化などを支援するツール)も、1.0.0-beta2では同時にインストールされるようになりました。
[2]symfony動作のための環境設定を行う(httpd.conf)
次は、「httpd.conf」ファイル内の以下の記述をコメントインしてください。
LoadModule rewrite_module modules/mod_rewrite.so
これによって後述するスマートURLに対応することができます。
symfonyのフォルダ構造
これまでのインストールによってsymfonyのファイル群が次のとおりに配置されています(PEARが「c:\php\PEAR」にインストールされている場合)。
フォルダ | 内容 |
c:\php\PEAR\symfony | メインライブラリ、実行ファイル |
c:\php\PEAR\data\symfony | アプリケーション用スケルトン |
c:\php\PEAR\doc\symfony | ドキュメント |
c:\php\PEAR\test\symfony | 単体テスト |
以上でsymfonyを利用するための準備は完了です。
symfonyで作るWebアプリケーションの構造について
実際にアプリケーションを作成する前に、symfonyで作成するアプリケーションがどのような構造になっているのかをざっと見ておきましょう。
symfonyでは、構築する一つのWebサイト全体を「プロジェクト」と名付けています。そしてその中に、サイトの中で特定の役割を果たす「アプリケーション」が一つ以上存在しています。さらに一つ一つのアプリケーションの中には「モジュール」が存在し、アプリケーションの個々の動作を担っています。図にすると、次のようになります。
![symfonyアプリケーションの構造 symfonyアプリケーションの構造](http://cz-cdn.shoeisha.jp/static/images/article/704/symfonyapp.gif)
例としてプロジェクトにECサイトを想定すると、「商品管理」「商品購入」といったアプリケーションが存在し、さらに「商品購入」アプリケーションには「商品を検索/提示する」「購入手続きをとる」などのモジュールが存在するわけです。
symfonyは、これらプロジェクト構築に必要なモジュールをコードジェネレーターで自動生成することができます。