帶佔位符的路由

使用 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 中的 BlogControllershowAction() 方法處理。控制器操作將接收佔位符的值作為方法引數。

例如,對/blog/my-post 的請求將觸發使用包含值 my-post 的引數 $slug 呼叫 showAction()。使用該引數,控制器操作可以根據佔位符的值更改響應,例如通過從資料庫中檢索帶有 slug my-post 的部落格文章。