Symfony2「カスタマイズ編(1) ルーティングのURLパラメータの必須条件の指定」

Symfony2「カスタマイズ編(1) ルーティングのURLパラメータの必須条件の指定」

ルーティングの設定
ルーティング設定には、正規表現が利用可能

【URLパラメータに必須条件を指定する】

URLパラメータの{id}に整数値以外が入らないように指定する

$ vim src/My/BlogBundle/Resources/config/routing.yml
blog_index:
pattern: /
defaults: { _controller: MyBlogBundle:Default:index }

blog_new:
pattern: /new
defaults: { _controller: MyBlogBundle:Default:new }

blog_show:
pattern: /{id}/show
defaults: { _controller: MyBlogBundle:Default:show }
requirements:
id: \d+

blog_delete:
pattern: /{id}/delete
defaults: { _controller: MyBlogBundle:Default:delete }
requirements:
id: \d+

blog_edit:
pattern: /{id}/edit
defaults: { _controller: MyBlogBundle:Default:edit }
requirements:
id: \d+

【確認】

以下のようなURLへアクセスして、数値以外が指定されているとNotFoundとなることを確認する

http://somewhere/repos/blog.git/web/blog/aaa/edit

【参考】

ref. カスタマイズ編(1) ルーティングのURLパラメータの必須条件の指定