Symfony 2.3 - 移动供应商后,自动加载MyBundle破了

时间:2014-03-05 15:15:31

标签: php symfony

我想让多个项目的供应商目录共同使用。所以我移动了它并相应地更新了app/autoload.php($loader = require __DIR__.'/../../../vendor/autoload.php')

它在某种程度上起作用 - 似乎Symfony能够找到它到供应商目录的方式但是在自动加载我的捆绑包被破坏的某个地方。我明白了:

  

FatalErrorException:错误:未找到类'My \ FooBundle \ MyFooBundle'   在(...)\ Symfony \ app \ AppKernel.php第19行

我该如何解决这个问题?我应该以某种方式将dir与我的捆绑包添加到app/autoload.php? 我知道Composer负责自动加载供应商目录中的任何内容,但不负责我的捆绑包,所以我想混淆composer.json没有意义,对吧?

2 个答案:

答案 0 :(得分:0)

您应该检查vendor/composer/autoload_namespace.php文件。 $vendorDir应保持不变,但$baseDir肯定需要更改。

答案 1 :(得分:0)

确保行" psr-0"在composer.json中指向正确的路径。在你的情况下,我想它应该是YourBundleFolder/src。通常它只是src因为src与composer.json是同一级别的。现在你已经移动了vendor文件夹,我猜你也移动了composer.json。这就是为什么它找不到你的捆绑包。