上下文绑定报错

参考文档编写的代码 但是报错

    Target [App\\Http\\Services\\SnsLogin\\Contract\\SnsloginInterface] is not instantiable while building [App\\Http\\Controllers\\V1\\Auth\\WechatloginController]

controller代码

<?php

namespace App\Http\Controllers\v1\Auth;

use App\Http\Controllers\Controller;

use App\Http\Requests\Auth\AuthRequest;
use App\Http\Services\SnsLogin\Contract\SnsloginInterface;
use App\Http\Services\SnsLogin\WechatloginService;
use Illuminate\Http\Request;

class WechatloginController extends Controller
{
    private $snslogin;

    public function __construct(SnsloginInterface $snslogin)
    {
        $this->snslogin = $snslogin;
    }

    //
    public function login(AuthRequest $request)
    {
        $request->validate('wechat_login');
        $this->snslogin -> login($request->code);
    }
}

服务容器代码

/**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        /**bind方法好用**/
        /*$this->app->bind(
            SnsloginInterface::class,
            WechatloginService::class,
        );*/

        /**上下文绑定报错**/
        $this->app->when(WechatloginController::class)
            ->needs(SnsloginInterface::class)
            ->give(function () {
                return new WechatloginService();
            });

    }

    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //

        /*$this->app->when(WechatloginController::class)
            ->needs(SnsloginInterface::class)
            ->give(WechatloginService::class);*/

    }

问题: bing方法好用 表示我的 接口 和 现实是没问题的。但是使用上下文绑定 就会报错 参考了文档 没发现问题!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

为什么不先试试清空缓存呢 :joy:

3年前 评论
lun1bz 3年前
陈先生 (作者) 3年前
lun1bz 3年前
陈先生 (作者) 3年前
lun1bz 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!