我在app/services/SubscriptionService.php
中创建了服务
然后将其导入到 Controller 中
使用App\Services\SubscriptionService;
然后在 Controller 中
public function subscribeIt(SubscriptionService $SubscriptionService, Request $request){
$response = $SubscriptionService->subscribeIt($request);
...
}
但是在执行结果中我得到Class App\Services\SubscriptionService does not exit
我需要在提供者中注册吗?
这是在提供者中
public function register()
{
//
$this->app->bind('App\Services\SubscriptionService', function ($app) {
return new SubscriptionService();
});
}
最佳答案
看起来您在 app/services/SubscriptionService.php
中创建了该服务。
由于 Laravel 通过 Composer 使用 PSR-4 自动加载,因此它期望 services
目录大写。
重命名该文件夹以包含大写的 S
,因此它应该从 app/services/SubscriptionService.php
更改为 app/Services/SubscriptionService.php
.
关于php - 为什么注册服务在 Laravel 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56770449/