[英]Symfony4 new bundle autoloading
我想用SF4创建一个新的可重用捆绑包。 我按照文档进行了操作,但是如果我在“src”目录中添加我的新包,则与App命名空间和composer自动加载存在冲突:
"autoload": {
"psr-4": {
"App\\": "src/",
"Acme\\TestBundle\\": "src/Acme/TestBundle/"
}
},
然后,我收到此错误:
PHP致命错误:未捕获的Symfony \\ Component \\ Debug \\ Exception \\ ClassNotFoundException:尝试从命名空间“Acme \\ TestBundle”加载类“AcmeTestBundle”。
我认为这是因为PSR-4自动加载器加载了具有错误命名空间的文件(App / Acme / TestBundle / AcmeTestBundle.php)。
有没有办法解决这个问题? 我也尝试为我的应用程序创建另一个包,但由于Kernel.php文件而崩溃...
此回退目录方法也不起作用:
"psr-4": {
"": "src/"
}
要帮助PSR-4 Autoloader将Acme作为捆绑包加载,您必须从App服务目录中排除其目录:
file:config / services.yaml
services:
...
App\:
resource: '../src/*'
# you can exclude directories or files
# but if a service is unused, it's removed anyway
**exclude: '../src/{Entity,Migrations,Repository,Acme}'**
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.