2014-02-13 46 views
0

我試圖找出是否有可能得到的路線(如routes.yml文件中定義),以一個特定的控制器?獲取路線控制器Symfony2的

一個例子可以是有幫助的。

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) 。有任何想法嗎?

編輯比方說,我知道這個動作,因爲我特別想要控制器的顯示動作。

這樣做的理由是一個黑客位,但它歸結爲我節省類名和特定實體到數據庫的ID,然後我需要基於什麼實體類來生成顯示網址我堅持。如果那有意義的話。

+0

您還需要一個動作叫什麼名字?因爲路由看起來像默認值:{_controller:「Controller:action」,id:0} – klipach

+0

我不明白你爲什麼要這樣做。 – Mantas

回答

0

我不認爲這會工作,主要是因爲操作可以有多種途徑。

但是,如果你想要做的是映射一個特定的實體類到一個特定的路由名稱,你應該考慮寫爲它服務,返回基於實體名稱的路徑名。

路線名稱可以是通用的(例如,轉換您的實體名稱爲小寫,並用_替換\),或者你可以定義哪些實體映射到一個手工路線在config.yml。