我一直在使用Symfony开发一个网站。一切都很好,直到今天早些时候,我使用DoctrineFixturesBundle添加了一些Fixture,并运行了"app/console"命令。我收到以下错误:
[SymfonyComponentDependencyInjectionExceptionInvalidArgumentException]
Symfony\Bundle\AsseticBundle\EventListener\RequestListener
is not a valid class name for the "assetic.request_listener" service.
我试图取消我对固定装置所做的更改,以发现我的错误,但没有改变。凭借我无穷的智慧,我决定尝试通过运行"composer update"来更新我的供应商,但它没有起作用。
此外,当我在浏览器中运行我的网站时,我会遇到同样的错误。
我不知道发生了什么事。请有人帮忙,任何帮助都很感激。
对于那些路过的人:)
在大多数情况下,问题在于类名前面有前导\。更多信息更多信息
我只是想让大家知道我是如何修复的。这不是最优雅的解决方案,但它确实有效。我下载了一家新公司的Symfony,复制了我所有的捆绑包、我的整个配置目录、我的composer.json和我的AppKernel.php。它消除了我的所有错误,甚至消除了我遇到的一些缓存问题。
对于记录,这个错误总是与一件事有关,那就是类名是错误的。要么是您错误地指定了类的路径,要么是您拼写错误了名称。
例如,我被这个问题难住了,因为我不小心在类名中添加了.php。
.xml文件上的Reformat给了我同样的问题。确切地说,使用PhpStorm,将文件重新格式化在一个目录中,而不是单个文件中。
@阿巴里松:services.xml文件出现问题。PhpStorm"重新格式化"转换(示例):
<parameter key="xxx">PetrusxxxxXHRCoreExceptionListener</parameter>
至:
<parameter key="xxx">
PetrusxxxxXHRCoreExceptionListener
</parameter>
很难找到,也很容易纠正,借助"本地历史"Phpstorm的功能手动纠正。