3
我有一個自定義軟件包未上傳到github
或packagist
,我需要將其添加到Laravel 5.1
項目中。將自定義軟件包添加到composer.json文件
這是我的包的文件夾結構:
Packages
\_ christian
\_ smsservice
\_src
\_ Facades
\_ MySMS.php
\_ SMSServiceServiceProvider.php
\_ vendor
\_ composer
\_ autoload.php
我已經編輯我的根composer.json添加軟件包:
"psr-4": {
"App\\": "app/",
"Christian\\SMSService\\": "app/Packages/christian/smsservice/src/"
},
然後我已經加入的S ervice provider
和facade
到app.php
文件,但當我嘗試使用我得到的包:
FatalErrorException in ProviderRepository.php line 146:
Class 'Christian\SMSService\SMSServiceServiceProvider' not found
但存在的ServiceProvider和命名空間是正確的:
namespace Christian\SMSService;
use Illuminate\Support\ServiceProvider;
use Illuminate\Routing\Router;
class SMSServiceServiceProvider extends ServiceProvider {
//Code
}
您是否在添加「psr-4」後刷新了作曲家自動載入?試試如果沒有,請嘗試'composer dump-autoload'並刷新。 –
是的,我試過但沒有結果 –
這個路徑 - 「Christian \\ SMSService \\」:**「app/Packages/christian/smsservice/src」** - 應該是相對於你的'composer.json'。它通常和'/ vendor'在同一個目錄下,但你的'/ vendor'位於'app/Packages/christian/smsservice'。 你能告訴我們你的'composer.json'和確切的位置? –