簡體   English   中英

Symfony4新捆綁自動加載

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM