之间有什么区别
$this->app->when('App\Http\Controllers\StaffController')
->needs('App\Repositories\User\UserInterface')
->give('App\Repositories\User\StaffRepository');
这个有效!
$this->app->when(StaffController::class)
->needs(UserInterface::class)
->give(StaffRepository::class);
但是这个没有用。问题是什么?
答案 0 :(得分:1)
鉴于这是有效的:
$this->app->when(\App\Http\Controllers\StaffController::class)
->needs(\App\Repositories\User\UserInterface::class)
->give(\App\Repositories\User\StaffRepository::class);
你有一个命名空间问题。你可以使用前导\
来原样使用它,但是把它放在文件顶部可能会解决它:
use App\Http\Controllers\StaffController;
use App\Repositories\User\UserInterface;
use App\Repositories\User\StaffRepository;