Laravel 7.x更新で発見したこと(1)パジネーションのクエリ
Laravel6からLaravel7へのバージョン更新で起こった問題を深~く追及していったら、私のプログラムのバグの発見とともにLaravelフレームワークの内部の変更の背景を知ることになりました。
Laravel6からLaravel7へのバージョン更新で起こった問題を深~く追及していったら、私のプログラムのバグの発見とともにLaravelフレームワークの内部の変更の背景を知ることになりました。
最新のLaravelのバージョンは8.xなことはわかっています。私が新しいもの嫌いというわけでもありません。しかし、リリースされてからちょっと遅れて(1年近く経って)、Laravelのバージョン7.xのインストールの手順の紹介です。
前回はMailableを使ってのメール送信の話でした。今回は、もう1つLaravelからメールを送信する方法としてNotificationの話です。
HTMLメールをマークダウンで簡単に作成して送信できることができたので、今度はフォントや色などのカスタマイズを試みます。
コントローラでブレードを指定して画面を作成するように、メールでもブレードを使ってメールの作成が可能です。今回はそれを可能にしてくれる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つの入力項目があり、どちらかが必須なのだけれど両方の入力は禁止という場合です。まず、具体的な例を見てみましょう。