Неопределенное свойство: Illuminate \ Routing \ Router :: $ app - PullRequest
0 голосов
/ 24 декабря 2018

Я знаю, что сервисный контейнер $app доступен везде в приложении.Я регистрирую класс в контейнере службы в маршрутах / web.php примерно так:

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

Может кто-нибудь сказать мне, что со мной не так?

Заранее спасибо

1 Ответ

0 голосов
/ 25 декабря 2018

Второй пример будет работать, если вы измените его на:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...