2015-08-21 179 views
1

假設我定義了一條路線並將其命名爲new,如下所示。我如何使用名稱檢索路線的模式路徑/new如何從Silex中的路由名稱檢索路由模式?

class AppControllerProvider implements ControllerProviderInterface { 
    public function connect(Application $app) {  
     $controllers = $app['controllers_factory']; 

    //some code here... 

    $controllers->get('/new', function (Request $req) use ($app) {  
     return $app['twig']->render('content/new.twig', ['params' => $params, 'errors' => []]); 
    })->bind('new'); 

    //some code here... 

可用於返回路徑的路徑。有沒有類似的方法?我詢問是因爲我希望能夠方便地訪問該模式以防修改,並保持路由名稱相同。

回答

0

以下似乎工作,因爲它找到匹配的路由名稱對應的控制器,然後查找路線,並最終輸出相應的模式:

$app['controllers_factory']->get('new')->getRoute()->getPattern() 

不確定是否有更簡單的方法。