【发布时间】:2016-05-17 11:29:59
【问题描述】:
我正在使用 Laravel 5.0 并尝试设置一个命令来在我的邮件服务中排队作业。
我的问题是我不知道如何将命令调度程序注入到我的邮件服务中。
我的结构:
- 服务文件夹
- Mailer.php(包含抽象类Mailer)
- UserMailer.php(包含扩展 Mailer 类的类 UserMailer)
我尝试过的事情:
我尝试在 UserMailer 类和 Mailer 类中使用 DispatchesCommands 特征。我还尝试将 \Illuminate\Contracts\Bus\Dispatcher 注入到 UserMailer 类的构造函数中。
在所有三个实例中,我都收到“找不到类服务\邮件程序\发送电子邮件”的错误
Mailer.php:
abstract class Mailer
{
public function emailTo($view, $mData)
{
Mail::queue($view, $mData, function($message) use ($mData)
{
//code here - not relevant
}
});
}
}
UserMailer.php:
use Illuminate\Contracts\Bus\Dispatcher as Dispatcher;
Class UserMailer extends Mailer
{
protected $bus;
function __construct(Dispatcher $bus)
{
$this->bus = $bus;
}
public function sendIndividualEmail($members)
{
// code here not relevant...
$this->bus->dispatch(new SendEmail($members));
return true;
}
如何从我的 UserMailer 类中访问命令总线? TIA
【问题讨论】: