我試圖使用symfony flex一個包。作曲家加載命名空間的單個類
我有這樣的目錄結構
/
src/
AppBundle/
AppBundle.php
# Many classes
Kernel.php
我想加載Kernel.php類此命名空間App
和類裏面的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"
UPDATE
的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" }
]
},
嘗試這樣' 「的appbundle \\」: 「SRC /」,' –
我得到這個例外 '''試圖從命名空間 「的appbundle」 裝入類 「的appbundle」。 您是否忘記了「AppBundle \ AppBundle」的「use」語句?'' – anacona16
好吧,請嘗試在您的Kernel.php命名空間AppBundle \ AppBundle' –