【问题标题】:Laravel Service Provider: new class with paramsLaravel 服务提供者:带参数的新类
【发布时间】:2019-07-24 20:44:40
【问题描述】:

是否可以将参数传递给 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 但仍然出现此错误: SendGrid 类中无法解析的依赖解析 [Parameter #0 [ $apiKey ]]

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

我该怎么做? 提前致谢。

【问题讨论】:

    标签: laravel service-provider


    【解决方案1】:

    我解决了这个问题。 首先,您必须向 sendgrid 注册一个服务提供者,然后在 MyServiceProvider.php 中添加 sendgrid 服务提供者。

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 2016-12-21
      • 2015-10-24
      • 2016-10-06
      • 1970-01-01
      相关资源
      最近更新 更多