我今天是第一次使用laravel服务容器。我知道在互联网上可以找到很多东西,但是我找不到解决方案。我正在尝试将接口(interface)绑定(bind)到类,但是在执行此操作时收到错误消息:
这是我的服务容器,称为UploadServiceContainer:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class UploadServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->bind('App\Contracts\UploadService', 'App\Classes\upload\upload');
}
}
我试图在我的 Controller 中实例化它:
public function storeTicket(makeTicketRequest $request,UploadService $upload)
{ }
我已经在app.php中注册了Serviceprovider。而且我还做了:
php artisan clear-compiled
最佳答案
在对bind()
的调用中,您使用的是App\Contracts\UploadService
(大写的“契约(Contract)”),但错误消息指出App\contracts\UploadService
(下排的“contracts”)。纠正差异,它应该可以工作。