【问题标题】:Symfony 2.3 - after moving vendors dir autoloading MyBundle got brokenSymfony 2.3 - 移动供应商目录后自动加载 MyBundle 坏了
【发布时间】:2014-03-05 15:15:30
【问题描述】:

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

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

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

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

【问题讨论】:

  • 不要那样做。作曲家 autoload.php 使用类映射和东西加载其他文件。 Composer 是基于项目的,不能全局使用。

标签: php symfony


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-11-20
      • 2018-02-13
      • 2011-06-15
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 2014-11-14
      • 2016-02-08
      • 2018-11-27
      相关资源
      最近更新 更多