我将一些捆绑包的 psr-0 自动加载更改为 psr-4。现在,当我尝试使用 app/console 命令生成实体时,它给了我
找不到"MbDbFooBundle"的基本路径(路径: "/home/roland/projects/rolandtest/mbmbisbundle/Symfony/vendor/mb/mb-db-foo-bundle", 目的地:"/home/roland/projects/rolandtest/mbmbisbundle/Symfony/vendor/mb/mb-db-foo-bundle")。
起初我认为生成的自动加载器会有问题。但是当我对我的项目进行新的克隆,然后运行作曲家更新以完成供应商时,它仍然给我这个错误。
关于Doctrine的代码生成部分,它不支持PSR-4。只有 PSR-0。原因是它直接将类/命名空间路径转换为文件系统路径(例如,将 \ 转换为/)。这不适用于 PSR-4,因为它允许与文件系统路径不直接相关的命名空间。
https://github.com/doctrine/DoctrineBundle/issues/282