使用註釋進行路由

路由配置包含在 app/config/config.yml 檔案中,預設為 app/config/routing.yml 檔案。

從那裡,你可以連結到具有帶註釋的路由配置的控制器:

# app/config/routing.yml

app:
    resource: "@AppBundle/Controller"
    type:     annotation

在你自己的繫結中,你可以配置具有兩個目的的路由:

  • 匹配請求,以便為請求呼叫正確的操作。
  • 從名稱和路由引數生成 URL。

以下是帶註釋的路由配置示例:

// src/AppBundle/Controller/DefaultController.php

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;

/**
 * @Route("/application")
 */
class DefaultController extends Controller {
    /**
     * @Route("/content/page/{parameter}",
     *        name="my_page",
     *        requirements={"parameter" = "\d+"},
     *        defaults={"parameter" = 42})
     * @Method({"GET", "PUT"})
     */
    public function myPageAction($parameter)
    {
        // ...
    }
}

控制器使用字首路由進行註釋,以便使用字首在該控制器中新增任何已配置的路由。

配置的路由名為 my_page,並在請求時呼叫 myPageAction 功能。它有一個名為 parameter 的引數,預設值為。該值僅在與正規表示式匹配時才有效。對於此路由,僅接受 HTTP 方法 GETPUT

請注意,該引數作為函式引數注入到操作中。

引數值為 10 的生成路徑可能看起來像/application/content/page/10