我试图使用symfony flex捆绑。
我有这个目录结构
/
src/
AppBundle/
AppBundle.php
# Many classes
Kernel.php
我想使用此命名空间App
加载Kernel.php类,使用命名空间AppBundle
加载AppBundle中的类。
我尝试了很多作曲家配置,但我无法加载它们。
"psr-4": {
"AppBundle\\": "src/AppBundle/",
"App\\": "src/"
}
但是我遇到了这样的错误:
Expected to find class "App\AppBundle\AppBundle" in file "/var/www/vhosts/flex/src/AppBundle/AppBundle.php"
更新
src / Kernel.php类有一个不同的命名空间,我无法改变它,因为其他类使用它,命名空间是App
。有些脚本使用use App\Kernel
src/AppBundle/AppBundle.php
类具有此命名空间AppBundle
有办法做到这一点吗?
更新2
我把它整理出来了:
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle/"
},
"classmap": [
{ "App\\Kernel": "src/Kernel.php" }
]
},
答案 0 :(得分:1)
我建议改为使用Kernel.php的类映射:
"autoload": {
"psr-4": { "AppBundle\\": "src/AppBundle" },
"classmap": [ "src/Kernel.php" ]
}
答案 1 :(得分:0)
你只需要
"psr-4": { "App\\": "src/" }