绑定分辨率Laravel 5.3

时间:2016-09-16 02:13:43

标签: laravel

之间有什么区别
$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);

但是这个没有用。问题是什么?

1 个答案:

答案 0 :(得分:1)

鉴于这是有效的:

$this->app->when(\App\Http\Controllers\StaffController::clas‌​s)
  ->needs(\App\Repos‌​itories\User\UserInt‌​erface::class)
  ->give‌​(\App\Repositories\U‌​ser\StaffRepository:‌​:class);

你有一个命名空间问题。你可以使用前导\来原样使用它,但是把它放在文件顶部可能会解决它:

use App\Http\Controllers\StaffController;
use App\Repos‌​itories\User\UserInt‌​erface;
use App\Repositories\U‌​ser\StaffRepository;