Symfony 2 CMF - 安装cmf沙箱

时间:2014-11-28 19:49:25

标签: php symfony symfony-cmf

我尝试从git https://github.com/symfony-cmf/cmf-sandbox

安装smf-sandbox

但我收到了错误:

  

捕获致命错误:参数2传递给Symfony \ Cmf \ Bundle \ RoutingBundle \ Admin \ Extension \ FrontendLinkExtension :: __ construct()必须是Symfony \ Bundle \ FrameworkBundle \ Translation \ Translator的实例,Symfony \ Component \的实例给出Translation \ LoggingTranslator,在第5251行的\ cmf \ app \ cache \ dev \ appDevDebugProjectContainer.php中调用并定义

我开始使用SF CMF,所以我不知道在哪里搜索。 有人可以帮帮我吗?

我试图在互联网上找到一些解决方案,但我找不到任何东西。

编辑: 当我尝试清除缓存时,该错误显示出来。

3 个答案:

答案 0 :(得分:3)

在Symfony 2.6之前的契约translator服务是translator.default的别名,不幸的是,在Symfony 2.6中添加了LoggingTranslator功能,这已经发生了变化。 (您可以通过运行php app/console container:debug

来验证这一点

如果代码未正确打字,则需要明确使用translator.default服务,translator服务可能会导致错误。

有关完整的内部信息,请参阅this Github issue

答案 1 :(得分:1)

您可以将symfony / symfony降级为2.5。*或将symfony-cmf / routing-bundle升级为dev-master:

在composer.json中

"require": { // to downgrade symfony: "symfony/symfony": "2.5.*", // OR "symfony-cmf/routing-bundle": "dev-master@dev", // upgrade CmfRoutingBundle } 其次是: $ composer update symfony-cmf/routing-bundle

答案 2 :(得分:0)

问题是这个新的扩展期望一个具体的类而不是接口,这在Symfony 2.6中成为一个问题。这是在上周修复的,我刚刚发布了RoutingBundle的1.3.3版本。 您可以简单地composer update symfony-cmf/routing-bundle而无需更改版本约束(假设您需要1.3。*)。