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