上下文绑定报错

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

    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方法好用 表示我的 接口 和 现实是没问题的。但是使用上下文绑定 就会报错 参考了文档 没发现问题!

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6

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

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

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