Laravel绑定不起作用

时间:2016-01-10 19:25:40

标签: php laravel

我今天第一次使用laravel服务容器。我知道互联网上有很多东西可以找到,但我无法找到解决方案。我试图将接口绑定到类,但是当我这样做时,我收到错误:

  

目标[App \ contracts \ UploadService]不可实例化。

这是我的名为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');
    }

}

我尝试在我的控制器中实例化它:

public function storeTicket(makeTicketRequest $request,UploadService $upload)
{ }

我已在app.php中注册了我的Serviceprovider。而且我也做了:

php artisan clear-compiled

1 个答案:

答案 0 :(得分:2)

在致电bind()时,您使用的是App\Contracts\UploadService(大写“合同”),但错误消息指出App\contracts\UploadService(较低的“合同”)。纠正差异,它应该有效。