我知道$app
服务容器可在应用程序中的任何地方使用。我像这样在route / web.php中的Service Container中注册一个类
App::bind('App\Billing\Stripe', function(){
return new \App\Billing\Stripe(config('services.stripe.secret'));
});
$stripe = App::make('App\Billing\Stripe');
dd($stripe);
在转储后死掉但得到这样的结果
App::bind('App\Billing\Stripe', function(){
return new \App\Billing\Stripe(config('services.stripe.secret'));
});
$stripe = $this->app->make('App\Billing\Stripe');
dd($stripe);
出现以下错误
Undefined property: Illuminate\Routing\Router::$app
谁能告诉我我怎么了?
预先感谢
答案 0 :(得分:1)
如果将第二个示例更改为:
App::bind('App\Billing\Stripe', function(){
return new \App\Billing\Stripe(config('services.stripe.secret'));
});
$stripe = $this->container->make('App\Billing\Stripe');
dd($stripe);
也就是说,在路由器中,服务容器是在$container
中引用的,而不是在$app
属性中引用的。