symfonyの威力を断片的に紹介。ご意見ご感想はこちらから。
長いお盆休みシーズンも終わり、今日から通常営業です(2007年8月、実世界の話)。
仕事の合間を見てこのチュートリアルも行けるところまで行きたいと思いますが、
それまでは仕事が集中的に来ないことを願いつつ、その反面、
経営者として沢山の仕事が欲しい、と言うジレンマを抱える今日この頃です(笑;)。
さて、プロジェクトとアプリケーションは作成しました。symfonyの画面も一応確認できました。
しかし、これだけでは只のショーウィンドウのマネキンです。右にも左にも動くことが出来ません。
実際にシステムを可動させるには用途に合わせてモジュールを作成していく必要があります。
モジュールとは1つの機能を意味します。モジュールは1つのモデルに対して作ることも可能です。
例えば商品モデル(=商品テーブル)に対して商品モジュールを作り、
そのモジュールの中でアクションを作成します。商品一覧表示アクション、商品別編集アクション、
商品追加アクション、商品削除アクション、等。
モジュールはモデルに対してのみ作成可能、と言う縛りは全くありません。
例えばサマーフェアーモジュール、と言うのを作成して様々なモデルを持ち合わせても構いません。
ここではトップページ用にindexと言うモジュールを作ろうと思います。indexアプリケーションに
indexモジュールを作り、その上indexアクションも作りますからindexだらけになります。A(^_^;)~~
askeet!のように特定のモジュールの特定のアクションをトップページの表示に利用する、
と言う方法でももちろん構いません。私は「トップページはトップページ」、別に頑固たるこだわり、
と言う程でもありませんが、自分なりにトップページにはトップページ用のモジュールが
あってもいいのではと思い、そうすることにします。
¥ symfony-init-module index index
すみません、今回のみわかりにくいかもしれませんが、前者のindexはアプリケーションを意味し、
後者のindexはモジュールを意味します。
http://localhost/symfuldaze/web/index
で確認します。静的サンプルはこちらです。
http://localhost/symfuldaze/web/index_dev.php/index
で開発環境も確認できます。静的サンプルはこちらです。
アプリケーションを作成した時に見た画面と似ていますが、1つ違いがあります。
こちらはマネキンではありません(笑)。symfonyがデフォルトで表示する画面を
表示しているだけで、これからやっと自らsymfonyを操作できる状態になりました。
エクスプローラで
symfuldaze/apps/index/modules/index
を見てみましょう。
actionsディレクトリのactions.class.phpと言うファイルとtemplatesディレクトリが今後の主な遊び場(笑)になります。
前者はアクションファイルです。後者はビュー用のディレクトリ、アクション別にビューファイルを追加していきます。
また、既にお気づきかもしれませんが、index以外のモジュールも全て
symfuldaze/apps/index/modules/
配下で管理されていきます。
モジュールディレクトリ内のactionsとtemplatesディレクトリが開発工程上の中心になることを覚えておきましょう。
ちなみにどのフレームワークにおいても共通することですが、フレームワークを使う上で
MVC(Model, View, Controllerの略)の概念は必須です。認識のない方はグーグル先生等で調べておいてください。
actionsディレクトリのactions.class.phpを開きます。
デフォルトでindexアクションが既に作成されています。execute+アクション名の1文字目を
大文字にしたメソッドがそのアクション用のメソッドになります。
$this->forward('default', 'module');
の部分が先程のsymfony画面へ遷移しているのです。その部分を外しましょう。
このままでも構いませんが、デフォルトで用意されているindex用のテンプレートは白紙です。
templatesディレクトリ内のindexSuccess.phpを編集しましょう。
ちなみにアクション名+Success.phpがアクション用のテンプレートになります。
処理が成功なのでSuccessなので、逆にエラーの際はアクション名+Error.phpと言うテンプレートで処理することも可能です。
もう一度
http://localhost/symfuldaze/web/index
とhttp://localhost/symfuldaze/web/index_dev.php/index
で確認してみましょう。静的サンプルはこちらです。開発環境用の静的サンプルはこちら
(内容は殆ど同じなのでこれからは本番環境用のサンプルのみにします)。
Hello World!は表示されましたか?
まだまだ書きたいことは山ほどあるんですが、シャワーを浴びて仕事に行かなければいけません(笑)。
それではまた次回!
<<<2. プロジェクトとアプリケーションの作成 4. データベースの設定>>>