我让这个控制器与MailChimp一起使用:
display:flex;
如何将此构造函数重写为服务提供者?
答案 0 :(得分:1)
在app/Providers/AppServiceProvider.php
register()
绑定类到服务容器中:
$this->app->bind(MailChimp::class, function () {
return new MailChimp(getenv('CHIMP_KEY'));
});
现在,在您的控制器中,您有两个选项:
首先是通过app helper解决它:
public function __construct()
{
$this->MailChimp = app(MailChimp::class);
}
或使用依赖注入:
public function __construct(MailChimp $mailchimp)
{
$this->MailChimp = $mailchimp;
}
答案 1 :(得分:0)
提供商@寄存器:
让我们不要处理' env'并从配置中拉出(出于缓存原因)。
$this->app->bind(MailChimp::class, function ($app) {
return new MailChimp($app['config']['services']['mailchimp']['key']);
});
控制器构造函数:
public function __construct(MailChimp $mailchimp) {
$this->mailchimp = $mailchimp;
}
对于外观,你可以尝试'只使用Real-time Facade。
use Facades\SomeNamespace\MailChimp as MailChimp;
public function blah()
{
MailChimp::get(...);
}