Laravel 4 注入依赖项时的Laravel ReflectionException
我正在尝试在Laravel注册一些事件订阅者。我正在使用IoC将依赖项注入到类中,但我似乎无法让它工作。这是我的事件服务提供程序中的Laravel 4 注入依赖项时的Laravel ReflectionException,laravel-4,dependency-injection,dependencies,inversion-of-control,ioc-container,Laravel 4,Dependency Injection,Dependencies,Inversion Of Control,Ioc Container,我正在尝试在Laravel注册一些事件订阅者。我正在使用IoC将依赖项注入到类中,但我似乎无法让它工作。这是我的事件服务提供程序中的register()方法: public function register() { $this->app->events->subscribe($this->app->make('Edcs\Events\AuthEventSubscriber')); } 我也试过: public function register() {
register()
方法:
public function register()
{
$this->app->events->subscribe($this->app->make('Edcs\Events\AuthEventSubscriber'));
}
我也试过:
public function register()
{
$this->app->events->subscribe('Edcs\Events\AuthEventSubscriber');
}
使用此代码时,我得到了一个ReflectionException
异常。我的AuthEventSubscriber
构造函数如下所示:
public function __construct(Hash $hash, Auth $auth)
{
$this->hash = $hash;
$this->auth = $auth;
}
我还在该类中包含正确的名称空间:
use Illuminate\Hashing\HasherInterface as Hash;
use Illuminate\Auth\AuthManager as Auth;
所以我猜当
register()
方法触发时,依赖项没有被加载-在Laravel中将依赖项注入事件订阅服务器的正确方法是什么?我也尝试过使用闭包和手动构建类,但这似乎也不起作用。我发现我注册的事件不正确-使用上述方法必须在请求生命周期中过早地构建类。这是我现在使用的代码:
public function register()
{
$this->app->before(function() {
$this->app->events->subscribe($this->app->make('Edcs\Events\AuthEventSubscriber'));
});
}