Symfony Best Practice - 実践編 Chapter5-
前回
いじった結果は随時GitHubにあげていきます。
コントローラーのactionに渡されるパラメータをのぞく
まずはデバッグしてパラメータをのぞき見してみる。
// AppBundle\Controller\BlogController public function indexAction($page) { dump($page); // ~ }
てやると、
こんな風に出る。 2ページ目はどうかな。
え。。パラメーター文字列になるんだ。。ボタンで移動したときは文字列になって、トップページから1ページ目に遷移したときだけ数値になってるぽい。
ルーティングを見ると理解できる。デフォルトのルーティングはpage
が数値で設定されていて、/page
がルーティングに入ってきたときは文字列にしている。
// AppBundle\Controller\BlogController /** * @Route("/", defaults={"page": 1}, name="blog_index") * @Route("/page/{page}", requirements={"page": "[1-9]\d*"}, name="blog_index_paginated") * ~ */ public function indexAction($page)
気持ち悪いから、デフォルトも文字列にしておこうっと。
/** * @Route("/", defaults={"page": "1"}, name="blog_index") ~ */ public function indexAction($page)
せっかくなので、本家にPRだしてみよう。マージされたら嬉しいな。