帶佔位符的路由
使用 YAML:
# app/config/routing.yml
blog_show:
path: /blog/{slug}
defaults: { _controller: AppBundle:Blog:show }
使用註釋:
// src/AppBundle/Controller/BlogController.php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class BlogController extends Controller
{
/**
* @Route("/blog/{slug}", name="blog_show")
*/
public function showAction($slug)
{
// ...
}
}
任何 URL 匹配/blog/*的請求都將由 AppBundle 中的 BlogController 的 showAction() 方法處理。控制器操作將接收佔位符的值作為方法引數。
例如,對/blog/my-post 的請求將觸發使用包含值 my-post 的引數 $slug 呼叫 showAction()。使用該引數,控制器操作可以根據佔位符的值更改響應,例如通過從資料庫中檢索帶有 slug my-post 的部落格文章。