Symfony3 路由捆绑包的安装失败


Installation failed for Symfony3 RoutingBundle

RoutingBundle甚至适用于Symfony3吗? 我尝试安装它并得到一些奇怪的错误:

$ php composer.phar require symfony-cmf/routing-bundle
Using version ^1.4 for symfony-cmf/routing-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

然后这整个位紧接着:

问题1 - symfony-cmf/routeting-bundle ^1.4 -> 的安装请求,symfony-cmf/routeting-bundle[1.4.0] 可满足。 - 结论:删除symfony/symfony v3.0.4 - 结论:不要安装symfony/symfony v3.0.4 - symfony-cmf/routeting-bundle 1.4.0 需要 symfony/framework-bundle ~2.3 -> Symfony/framework-bundle 满足 [

v2.3.0, v2.3.1, v2.3.10, v2.3.11, v2.3.12, v2.3.13, v2.3.14, v2.3.15, v2.3.16, v2.3.17, v2.3.18, v2.3.19, v2.3.2, v2.3.20, v2.3.21,...
  • 不要安装 Symfony/framework-bundle v2.8.3|不要安装 symfony/symfony v3.0.4
  • 不要安装 Symfony/framework-bundle v2.8.4|不要安装 symfony/symfony v3.0.4
  • symfony
  • /symfony的安装请求(锁定在v3.0.4,需要作为3.0.*)->由symfony/symfony[v3.0.4]满足。

安装失败,将 ./composer.json 恢复为其原始内容。

我需要的是拥有一个动态路由器,以便大多数请求(除非它们匹配不同的特定路由)将通过一个捆绑包/控制器/操作。

我尝试像这样更改我的捆绑包的 routeting.yml:

mybundle_homepage:
    path:     /{page}
    defaults: { _controller: MybundleBundle:Default:index }
    requirements:
        path: ".+"

这样任何路线 domain.dev/page/another-page/yet-another-sub-page...将转到此控制器。 (希望有道理)

那也没用。 我错过了什么?

SymfonyCMF RoutingBundle 还不兼容 Symfony 3(参见 https://github.com/symfony-cmf/routing-bundle/issues/317)。ChainRouter 和 DynamicRouter 类附带的路由组件是。也许您可以将它们直接集成到您的应用程序中作为解决方法。