Symfony2「blogチュートリアル(5) ブログ閲覧ページの作成」
2011年12月13日Symfony2「blogチュートリアル(5) ブログ閲覧ページの作成」
Symfony2での新しいページの作成手順
【ルーティングの作成】
URIとコントローラを関連付ける役割=ルーティング
Webリクエストを元に、定義されたルーティングの中からマッチするものを見つけ出し、そのコントローラのアクションを実行する
以下へ変更
$ vim app/config/routing.yml
blog:
resource: “@MyBlogBundle/Resources/config/routing.yml”
prefix: /blog
【ルーティング定義ファイルの変更】
上記のresource欄の定義ファイルを変更する
以下へ変更
$ vim src/My/BlogBundle/Resouces/config/routing.yml
blog_index:
pattern: /
defaults: { _controller: MyBlogBundle:Default:index }blog_show:
pattern: /{id}/show
defaults: { _controller: MyBlogBundle:Default:show }
【コントローラの作成】
コントローラの作成
既に、DefaultControllerが作成されているので、ファイルを次のように変更する
$ vim src/My/BlogBundle/Controller/DefaultController.php
<?php
namespace My\BlogBundle\Controller;use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction()
{
$em = $this->getDoctrine()->getEntityManager();
$posts = $em->getRepository(‘MyBlogBundle:Post’)->findAll();
return $this->render(‘MyBlogBundle:Default:index.html.twig’, array(‘posts’ => $posts));
}public function showAction($id) { $em = $this->getDoctrine()->getEntityManager(); $post = $em->find('MyBlogBundle:Post', $id); return $this->render('MyBlogBundle:Default:show.html.twig', array('post' => $post)); }
}