我对DI和IoC这个概念还比较陌生,可能我的做法不完全正确,但我正在尝试将与控制器相匹配的模型(UserModel -> UsersController)注入到该控制器的构造函数中,以便稍后可以进行模拟测试。
所以我的模型看起来像:
use Illuminate\Auth\UserInterface;
class User extends Eloquent implements UserInterface {
public function getAuthIdentifier()
{
return $this->getKey();
}
public function getAuthPassword()
{
return $this->password;
}
}
我现在正在尝试将其注入到UsersController中,代码如下:
class UsersController extends Controller {
protected $user;
public function __construct(User $user)
{
$this->user = $user;
}
public function index()
{
//dd( $this->user);
$users = $this->user->all();
foreach ( $users as $user )
print_r($user);
return;
}
}
当我在浏览器中调用此控制器时,会出现“无法解析依赖项”的错误。
我注意到只有在尝试注入的类是eloquent的子类时才会发生这种情况,如果我尝试使用不扩展eloquent的自定义类进行相同的代码,则可以正常工作。
我是否遗漏了什么?