未使用 SonataMediaBundle 找到 ManagerInterface
Posted
技术标签:
【中文标题】未使用 SonataMediaBundle 找到 ManagerInterface【英文标题】:ManagerInterface not found with SonataMediaBundle 【发布时间】:2014-02-07 10:18:12 【问题描述】:我尝试按照here 的描述安装SonataMediaBundle
。
安装后出现此错误:
php Fatal error: Interface 'Sonata\CoreBundle\Model\ManagerInterface' not found in /var/www/prj/vendor/sonata-project/media-bundle/Sonata/MediaBundle/Model/MediaManagerInterface.php on line 20
有Sonata\CoreBundle\Entity\ManagerInterface
,但没有Sonata\CoreBundle\Model\ManagerInterface
!
问题是什么?
【问题讨论】:
【参考方案1】:CoreBundle
和 AdminBundle
最近都已更新,并且此命名空间已更改。在解决之前,您可以通过在 composer.json
中包含这些行来确保您使用的是最新版本:
"require":
...
"sonata-project/core-bundle": "dev-master",
"sonata-project/media-bundle": "dev-master"
【讨论】:
这给了我一个错误ContextErrorException: Runtime Notice: Declaration of Sonata\UserBundle\Controller\RegistrationController::registerAction() should be compatible with FOS\UserBundle\Controller\RegistrationController::registerAction()
如何解决这个问题?
这似乎是一个不同的问题,正在跟踪here。解决此类问题的方法可能是使用稳定版本而不是 dev-master
。
我不明白。如果我不使用dev-master
,我会收到 OP 发布的错误。你介意在你的 composer.json 中给我你所有的 sonata-project
声明吗?我想我可能在某个地方有错误的版本。
请注意,发布的错误(和我的答案)是关于 SonataMediaBundle
而你的是关于 SonataUserBundle
,它们是独立的。我的建议是回滚到SonataUserBundle
的稳定版本,因为触发此错误的原因似乎是最近的更改。不幸的是,我不使用该捆绑包,因此我无法共享任何工作配置,抱歉。
我将所有 sonata-project
捆绑包设置为 dev-master
,它现在可以运行了。所有这些包之间的混乱。起初,我只是用 composer 更新了依赖关系,然后它立即抛出了这个错误。【参考方案2】:
从 Sonata 的沙箱更新您的 composer.json; https://github.com/sonata-project/sandbox/blob/2.3-develop/composer.json#L45-L63
"sonata-project/easy-extends-bundle": "~2.1@dev",
"sonata-project/seo-bundle": "~1@dev",
"sonata-project/admin-bundle": "~2.2@dev",
"sonata-project/doctrine-orm-admin-bundle": "~2.2@dev",
"sonata-project/block-bundle": "~2.2@dev",
"sonata-project/media-bundle": "~2.2@dev",
"sonata-project/user-bundle": "~2.2@dev",
"sonata-project/cache-bundle": "~2.1@dev",
"sonata-project/page-bundle": "~2.3@dev",
"sonata-project/core-bundle": "~2.2@dev",
注意 core-bundle": "~2.2@dev",
【讨论】:
以上是关于未使用 SonataMediaBundle 找到 ManagerInterface的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SonataMediaBundle 在树枝中获取图像路径?