1
假設我有幾個共享大約80%功能的站點,其中包括路由策略,模板等。 我想爲它們使用相同的代碼庫,並且有一個「DefaultSiteBundle」和幾個「SiteABundle」,「SiteBBundle」使用包繼承覆蓋或向DefaultSiteBundle添加功能。Symfony:覆蓋/添加來自繼承的包的路由
這意味着,應始終加載DefaultSiteBundle,並根據域名,有條件地加載SiteABundle或SiteBBundle。
我的問題是,我如何管理路由,而無需將所有SiteBundles添加到app/config/routing.yml?
如果只有路由可以使用['hostname_pattern'](http:// symfony.com/doc/current/components/routing/hostname_pattern.html)選項,但如果你想有完全不同的應用程序,那麼你可以使用[multiple kernels](http://jolicode.com/blog/multiple -applications-with-symfony2) – user2268997
由於你的問題是關於如何處理路由,我假設你已經知道如何根據主機名有條件地加載bundle。你是怎樣做的?我在問,因爲你主要問題的答案可能取決於此。 –
我使用基於「domain.name」環境變量的AppKernel中的registerBundles方法有條件地加載bundle。但是,仍然假設所有路由都是從app/config/routes.yml中配置的內容加載的,我不得不明確地在那裏添加所有的「網站」捆綁包,即使我不打算全部加載它們。未註冊捆綁包的路由會發生什麼?嗯..我沒有測試過 – Trashie