Laravel 4服务提供者实例

时间:2014-03-14 17:30:41

标签: php laravel laravel-4

我正在尝试用laravel 4进行外观。我正在使用服务提供商。在服务提供者寄存器中我制作单例实例,但我想通过接口访问它。它工作我只是不知道如何访问该对象的引用接口。我的代码如下:

class AuthenticationServiceProvider extends ServiceProvider
{
    public function register()
    {
         \App::singleton('Auth\iAuthenticate', function()
         {
            return new DbAuthentication();
         });            
    }

}

然后如果我在另一个php类中写这个:

Auth\iAuthenticate::someMethod()

它返回我不能称之为抽象的方法,而这些方法并不适合我。如何访问在服务提供商中创建的实例?

1 个答案:

答案 0 :(得分:1)

您可以使用$instance = App::make('Auth\iAuthenticate');

它还建议使用this->app属性。它可能会让你免于将来的一些麻烦。

public function register()
{
     $this->app->singleton('Auth\iAuthenticate', function()
     {
        return new DbAuthentication();
     });            
}