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'和确切的位置? –