Laravel - 梅勒服务?

时间:2015-07-14 12:50:27

标签: php laravel laravel-5

我是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并且还没有获得这些模式以及做事的方式。

任何建议都会很棒。谢谢!

1 个答案:

答案 0 :(得分:1)

这类问题的典型解决方案是,至少在Laravel世界中,创建服务提供商。您链接的文章非常适合您的目标。

如果您希望能够使用MailRequest以及任何其他熟悉的Laravel外墙全局访问新的邮件程序类,则可以create your own它将会可以在您的应用程序的任何地方使用。