Laravel Service Provider: новый класс с параметрами - PullRequest
0 голосов
/ 03 марта 2019

возможно ли передать параметры в класс внутри app () -> make in bind?

// MyServiceProvider.php (расширяет ServiceProvider)

$this->app->bind('MyService', function ($app) {
   return new MyService(
      $app->make('Carbon'),
      $app->make('SendGrid') // here is where i want to pass some parameters like if I do: new SendGrid($apiKey)
   )
});

Я попробовал makeWith, но все же я получил эту ошибку: неразрешимое разрешение зависимостей [Параметр # 0 [$ apiKey]] в классе SendGrid

$this->app->bind('MyService', function ($app) {
   return new MyService(
      $app->make('Carbon'),
      $app->makeWith('SendGrid', ['apiKey' => '123'])
   )
});

Как я могу это сделать?Заранее спасибо.

1 Ответ

0 голосов
/ 15 марта 2019

Я решил проблему.Сначала необходимо зарегистрировать поставщика услуг с помощью sendgrid, а затем добавить поставщика услуг sendgrid в MyServiceProvider.php.

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