Laravel在服务提供商之间共享信息

时间:2014-09-18 10:44:58

标签: laravel service laravel-4

我只是想知道我如何能够在服务提供商之间共享信息?

1 个答案:

答案 0 :(得分:1)

服务提供商实际上是服务的Service Bootstrappers,如果你需要在它们之间共享信息,那是因为你需要你的服务相互通信,所以你可以通过Application IoC Container来实现这一点:

class Service1Provider extends ServiceProvider {

    public function register()
    {
        $this->app['service1'] = $this->app->share(function($app)
        {
            return new Service1;
        });
    }

}

class Service2Provider extends ServiceProvider {

    public function register()
    {
        $service1 = $this->app['service1'];

        $this->app['service2'] = $this->app->share(function($app) use ($service1)
        {
            return new Service2($service1);
        });
    }

}