PHP フレームワーク「Laravel 8」でお問い合わせシステム制作
PHPフレームワーク Laravel 8 でお問い合わせシステムを制作。Laravel 8 でのメール送信方法を習得する
- PHP開発環境がない場合は「 AlmaLinux8.6, PHP8.1, MySQL8, Apache 」で LAMP 環境を構築後に実施
- Laravel8インストールは「PHP フレームワーク「Laravel 8」インストール」参照
練習1 : Rooting 設定
▼ お問い合わせシステムのルーティングを追加
routes/web.php
練習1 : レイアウトテンプレート生成
▼ レイアウトを定義する
resources/views/layouts/app.blade.php
練習2 : Controller 生成
▼ お問い合わせシステムのコントローラーを生成する
# php artisan make:controller ContactController
Controller created successfully.
▼ コントローラーファイルを編集
app/Http/Controllers/ContactController.php
練習3 : Mailable 生成
▼ メール送信の設定変更
.env
# MAIL_MAILER=smtp
MAIL_MAILER=sendmail
# MAIL_HOST=mailhog
MAIL_HOST=localhost
.env 設定が反映されない(bootstrap/cache/config.php が存在する)場合、設定キャッシュをクリア
# php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!
▼ Mailable 生成
# php artisan make:mail Contact
Mail created successfully.
▼ 生成したお問い合わせシステム Mailable ファイルを編集
app/Mail/Contact.php
練習4 : View 生成
▼ エラーメッセージの日本語化。英語用の設定ファイルをコピーし編集する
# mkdir ./resources/lang/ja
# cp ./resources/lang/en/validation.php ./resources/lang/ja/
resources/lang/ja/validation.php
//'email' => 'The :attribute must be a valid email address.',
'email' => ':attribute を確認してください',
//'required' => 'The :attribute field is required.',
'required' => ':attribute を入力してください',
//'attributes' => [],
'attributes' => [
'email' => 'メールアドレス',
'contact' => 'お問い合わせ内容',
],
▼ フォームページ View ファイル作成
resources/views/contact/index.blade.php
▼ ブラウザからアクセス(https://laravel.sunabird.local/contact)

▼ 確認ページ View ファイル作成
resources/views/contact/confirm.blade.php
▼ ブラウザ表示

▼ 完了ページ View ファイル作成
resources/views/contact/thanks.blade.php
▼ ブラウザ表示

▼ 自分宛メール本文テンプレート作成
resources/views/contact/_temp_mail_me.blade.php
(自分宛のメール)
件名 Laravelからのお問い合わせ
送信者 info@sunabird.local
宛先 (自分宛メールアドレス)
メール本文
Laravelサイトからお問い合わせがありました。
メールアドレス : test@sunabird.local
お問い合わせ内容 :
お問い合わせテスト
テストテストテストテスト
▼ ユーザー宛メール本文テンプレート作成
resources/views/contact/_temp_mail_you.blade.php
(ユーザー宛のメール)
件名 お問い合わせありがとうございました
送信者 info@sunabird.local
宛先 test@sunabird.local
メール本文
お問い合わせありがとうございました。
内容を確認し担当者よりご連絡いたします。
何卒、宜しくお願いいたします。
--
(署名)