1 回答

TA贡献1824条经验 获得超6个赞
基本问题是捆绑包的源代码位于项目的 src 目录下:
project
src
Ztest
ZtestBundle.php
这反过来导致应用程序的 config/services.yaml 文件自动装配捆绑包的服务:
# project\config\services
App\:
resource: '../src/'
exclude:
- '../src/DependencyInjection/'
...
- '../src/Ztest' # Add this to fix the problem
排除捆绑包的源代码解决了问题。应用程序级别的自动接线会覆盖在捆绑包级别完成的任何手动接线。
当然,一般来说,如果您确实决定需要一个捆绑包,那么它的源代码应该位于它自己的独立目录中:
project
src
src-ztest-bundle
为此,您还需要更新composer.json 的 psr-4 部分并运行“composer dump-autoload”。
请记住,在 Symfony 4+ 中,自定义捆绑包的唯一推荐用法是在多个 Symfony 应用程序之间共享代码。在这种情况下,捆绑包最终应该位于它自己的存储库和作曲家包中。
但是,应用程序内部的自定义捆绑包仍然受支持,并且有时它们会很有用。
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报