簡體   English   中英

獲取到控制器symfony2的路線

[英]Get route to controller symfony2

我試圖弄清楚是否有可能將路由(在routes.yml文件中定義)獲取到特定控制器?

一個例子可能會有所幫助。

class SomeRandomController extends Controller {
    public function showAction($id) {
        //Get the entity and return with a Response object
    }
}

在routes.yml中...

some_random_show:
    pattern: /some/random/thing/{id}/show
    defaults: { _controller: "MyBundle:SomeRandom:show", id: 0 }

因此,我想的就是航線名稱(如some_random_show )如果我有類名和它的命名空間(如MyBundle\\Controller\\SomeRandomController )。 有任何想法嗎?

編輯假設我知道該動作,因為我特別想要控制器的show動作。

這樣做的基本原理是有點駭人聽聞的,但這歸結於我將特定實體的類名和ID保存到數據庫中,然后我需要根據持久化的實體類生成show URL。 如果那有意義的話。

我認為這行不通,主要是因為動作可以有多個路線。

但是,如果您要做的只是將特定的實體類映射到特定的路由名稱,則應考慮為其編寫服務,該服務將根據實體名稱返回路由名稱。

路由名稱可以是通用的(例如,將您的實體名稱轉換為小寫並用_替換\\),也可以在config.yml中手動定義哪個實體映射到哪個路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM