メールの送信(4)ブレードを使ってHTMLメールを作成
コントローラでブレードを指定して画面を作成するように、メールでもブレードを使ってメールの作成が可能です。今回はそれを可能にしてくれるMailableのお話です。
コントローラでブレードを指定して画面を作成するように、メールでもブレードを使ってメールの作成が可能です。今回はそれを可能にしてくれるMailableのお話です。
debugbarを使うとコントローラでのDB処理に使用されるSQL文をブラウザ画面でデバッグ文をわざわざ挿入することなしに見ることができます。しかし、php artisanのコマンドラインの実行では同様なことできません。さて、どうしたらよいでしょうか?
前回紹介したMailtrapに比べて機能は劣りますが、十分代わりとなるしかもオープンスース(つまり無料)のMailhogの紹介です。このプログラムと知り合ったのは、Laravelの最新バージョン8のsailのパッケージで使用されていたからです。sailはDockerを使用して簡単に開発環境を作成できる素晴らしいものなのですが、Dockerの1つのコンテイナーとしてMailhogがインストールされます。sailの紹介は別の機会として、今回は単独でのインストールです。
LaravelのマニュアルのMailのセクションでは、Mailtrapというサービスが紹介されています。開発中はGmailのアドレスの送信すればいいものの、なにゆえに必要なのか疑問を持っていました。しかし、先日LaravelのNotificationのHTMLメールでHTMLのタグがどう使われているかチェックするのに困ったことがあり、Mailtrapのサービスを使用してみました。
先日、Laravelのメール送信の設定、つまり、.envでメールに関わる環境変数の設定をいじっていて、設定が正しいかどうかをテストすることで学んだことを共有です。
入力画面のバリデーションでちょいと頭をひねったケースです。2つの入力項目があり、どちらかが必須なのだけれど両方の入力は禁止という場合です。まず、具体的な例を見てみましょう。
今回は、またしても新規のLaravelのバージョン対しての私のキャッチアップの話です。もちろん、存在は知っていたのですが、最近まで使用する機会がありませんでした。ブレードで使われる@errorの話なのですが、調べたら登場したのはなんとLaravelバージョン5.8、現在のバージョンが8.xなので遠い昔のように思えます。しかし、5.8がリリースされたのはつい去年のことです。Laravelのバージョン形態が変わってから、どんどん更新が早まっていくように感じられます。
Laravelの経験が長くなると、つまり初期のバージョンから使用していると、昔のやり方しか知らずに過ごしていることがあります。以前にメンテナンス画面の裏口のポストがありますが、それはバージョン5.1の話で、大昔です。ということでやり方学びなおします。
以前から紹介したいと思っていたパンくずのパッケージがありました。人気ものなのですが、作者が忙しいという理由で管理を辞めてしまいました。幸い、Laravelのバージョンが上がっても問題なく動作していますが、いつダメになるわかりません。小さなパッケージはこれがあるから嫌だなと思うところですが、オープンソースゆえに他の開発者が後継してくれました。しかも、「オフィシャル」となっているので長期間管理されるようです。今回はこのパッケージの紹介です。
前回のFormRequestの入力補正を例にして、そのユニットテストを作成してみます。