version : 2.0.4
もう少し詳しい情報は、独学Symfony2 : report2 にもあります。
まず, Symfony2でのページ作成は, 以下のSTEPで成り立っている。
◯ Bundleの作成
① Create a route : リクエストのURIから, 対応するコントローラーを指定するための Routing 情報を決める
② Create a controller : リクエストを処理し, 応答を返すための Controller の部分を作成
③ Create a template : テンプレートの作成
① Create a route : リクエストのURIから, 対応するコントローラーを指定するための Routing 情報を決める
② Create a controller : リクエストを処理し, 応答を返すための Controller の部分を作成
③ Create a template : テンプレートの作成
Bundleの作成
Bundleの作成
AcmeStudyBundleを作成php app/console generate:bundle --namespace=Acme/HelloBundle --format=ymlちなみに, このコマンドを使用しない場合は, 自分でディレクトリやAcmeStudyBundle.phpなどを作成する必要がある。
また、このコマンドを使用して、AppKernelに自動で追加もできます。今回はこれで作成。
Route の作成
app/config/routing.yml にルーティング情報を追加routeに, /hello/{name} というパターンに対して AcmeStudyBundle:Hello:index が呼ばれるように設定する。
以下のようにして、routingファイルをインポートして使用できる (コマンドでBundleを作成した場合は、勝手にインポートの記述を追加してくれます。便利。)
- # app/config/routing.yml
- AcmeHelloBundle:
- resource: "@AcmeHelloBundle/Resources/config/routing.yml"
- prefix: /
- # src/Acme/HelloBundle/Resources/config/routing.yml
- hello:
- pattern: /hello/{name}
- defaults: { _controller: AcmeHelloBundle:Hello:index }
Controller の作成
routeに, /hello/{name} というパターンに対して AcmeStudyBundle:Hello:index が呼ばれるように設定する(詳細はドキュメント見てね!)Routingの設定により、/hello/{name} でアクセスすると, AcmeStudyBundle の HelloController の indexAction が呼ばれる。
View の作成
最後に、アクションに対するビューを作成。どのビューが呼ばれるかは、indexActionに記述されている通り。
ちなみに、Twigはテンプレートの継承が可能なのでスゴイおもしろい!笑
以上が基本的な流れ。
0 コメント:
コメントを投稿