我正在使用symfony 2實現一個Web應用程序。它有一個通過「CoreBundle」提供的主頁面,該頁面加載了div內其他應用程序包的內容。爲了處理這個問題,我想讓CoreBundle路由捕獲所有路由,然後將請求轉發到應用程序包以獲取div內的內容。在特定捆綁包中查找路線
的路線是:
@Route("{app_name}/{garbage}", name="_core_app_garbage", requirement={"garbage"=".*"})
這個偉大的工程。它將$ app_name設置爲應用程序的名稱(第一個子目錄)以及$ garbage中的其餘uri。
我的問題是在特定的應用程序中試圖找到$垃圾的路線。核心包擁有應用程序包名稱的知識。
到目前爲止,我曾嘗試以下兩件事情:
使用路由器服務來查找路線,但試圖刪除捕獲所有路由:似乎
$router->getRouteCollection()->remove("_core_app_garbage");
不是改變任何事情(我得到的路線仍然是全部)。
創建我自己的路由器。我嘗試了各種配置,但它似乎需要大量的類創作和特定的類創建(AnnotationDirectoryLoader在我的情況)。這對我習慣Symfony來說似乎過於困難,如果我決定改變路由格式(例如,以YAML爲例),它不可移植。
是否有一個快速簡便的方法來做到這一點?
你有沒有嘗試過將捕獲所有的路由移動到你的路由配置的底部? – prehfeldt