Laravel のフォームリクエストクラスでバリデーションロジックをコントローラから分離する
- Laravel
Laravel のフォームリクエストクラスを使ってバリデーションロジックをコントローラから分離させましょう。見通しが各段に良くなります。
Laravel のフォームリクエストクラスを使ってバリデーションロジックをコントローラから分離させましょう。見通しが各段に良くなります。
Laravelではフォーム処理の剛健性高めるべく、validationメソッドが用意されています。これを使う事で私たちは簡単に複雑なバリデーションを実装する事が出来ます。日本語でのエラーメッセージ表示も含め、今回は入門編として基本型のバリデーションを実装していきます。
Laravel5.5のmailableクラスとAPIベースのメール配信サービスである「Mailgun」を使ってメール送信を行います。Mailgunはメールの送信から受信、追跡(トラッキング・分析)までを行える非常に高機能なメール配信サービスです。毎月10,000通までのメール送信が無料で使えます。
Laravelではメール送信も簡単に行えるような仕組みが提供されており、通常のSendmailからAmazonSESやMailgunなど、様々な手段・サービスに対応し、HTMLメールもテキストメールも柔軟に作成する事ができます。今回はメール送信クラスであるmailableクラスを使い、メール送信機能を実装していきたいと思います。
Laravel表示までに11秒かかっていた処理をキュー投入で非同期処理にする事で1秒未満にまで高速化させています。それにはデータベースを用いてキュー投入を行い、非同期のジョブ処理を実装します。
Laravelのジョブキュー処理を実装すると非同期での処理を実現でき、ユーザへのレスポンスを劇的に早める事ができます。メール送信やログ処理など、ユーザへのページ表示に関係なくかつ重たい処理の場合はコントローラで処理するのではなく、処理をキューへ投入しジョブ処理を行いましょう。