我是Laravel的一个菜鸟,但我正在建立一个错误跟踪系统,并对如何删除多个发送邮件实例提出疑问。让我告诉你我目前是如何设置的:
public function store(UsersRequest $request)
{
$user = User::create($request->all());
Mail::queue('emails.master', ['user' => $user], function($message) use ($user) {
$message->to('someone@somewhere.com')
->subject('New User Created');
});
return redirect('/users');
}
所以我在控制器中有这个方法,在我的系统中创建一个新用户,然后我发送邮件。我想做的是将邮件呼叫删除到一行代码。
实现这一目标的最佳途径是什么?
到目前为止,我发现的是设置服务来处理这个问题 - 就像这样:http://lukefair.com/create-a-mailer-service-with-laravel-and-a-basic-working-example-of-dependency-injection/
这对我的noob大脑来说似乎是一个好主意,并且会实现我所需要的。有没有比创建服务更好的方法呢?也许利用事件(虽然,我想我仍然需要服务)?
正如我所说,我有点像Laravel noob并且还没有获得这些模式以及做事的方式。
任何建议都会很棒。谢谢!
答案 0 :(得分:1)
这类问题的典型解决方案是,至少在Laravel世界中,创建服务提供商。您链接的文章非常适合您的目标。
如果您希望能够使用Mail
和Request
以及任何其他熟悉的Laravel外墙全局访问新的邮件程序类,则可以create your own它将会可以在您的应用程序的任何地方使用。