Laravel環境構築メモ
※大枠は公式リファレンスを参考にします。
※2023年9月10日時点の内容になります。
Laravelのインストール
1.ターミナルでLaravelをインストールするディレクトリまで移動します。
2.インストールでインストールをします。
私の場合は、Dockerを利用したいので、「LaravelとDocker」>「macOSで始める」に沿っていきます。
curl -s "https://laravel.build/example-app" | bash
3.Laravel Sailを起動します。
リファレンスと一部異なります。
バックグラウンドでDockerを動かしておきたいので-d
オプションをつけておきます。
cd example-app
./vendor/bin/sail up -d
コマンドの省略(一度設定してしまえば不要なはず)
./vendor/bin/sail
をsail
だけで実行できるようにエイリアスを設定します。
vim ~/.zshrc
'i'を押してインサートモードにする。
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
完了したらesc
を押してインサートモードを終了。
:wq
を押して保存して終了。
設定ファイルを再読み込みして変更を反映します。
source ~/.zshrc
Laravelの初期設定
1.言語環境を変更しておく。
+ 'timezone' => 'Asia/Tokyo',
- 'timezone' => 'UTC',
+ 'locale' => 'ja',
- 'locale' => 'en',
+ 'faker_locale' => 'ja_JP',
- 'faker_locale' => 'en_US',
2.DBが接続されているかを確認しておく。
DB_PORT=3306
Laravel Sail の環境で稼働している Docker コンテナの一覧を表示するために
sail ps
を実行。
PORTS
にDB_PORT=3306
に合うものがあるかを確認。
sail mysql
を実行し、mysqlコンテナに入り
show databases;
を実行して、アプリケーション名のデータベースがあることを確認。
mysqlコンテナはexit
で終わらせられます。
3.Logを変更しておく。
個人的に日毎が見やすいという理由での変更です。
+ LOG_CHANNEL=daily
- LOG_CHANNEL=stack
認証機能について(Laravel Breeze)
認証機能についても公式リファレンスに記載があります。
今回はLaravel Breezeの設定をしていきます。
1.Composerを使用してLaravel Breezeをインストール
sail composer require laravel/breeze --dev
sail artisan breeze:install
sail artisan migrate
sail npm install
sail npm run dev
途中
- どのフロントエンドスタックをインストールしたいか
- ダークモードのサポートを追加したいか
- どのテスティングフレームワークを使用したいか
を聞かれますが、お好みのものを選んでEnter
を押しましょう。
ブラウザでhttp://localhost/
にいくとLaravel公式ページの右上にLogin
とRegister
があればOK。
パスワード確認について
パスワードの確認>ルートの保護に記載あり。
Route::get('/', function () {
return view('welcome');
})
+ ->middleware(['password.confirm'])
;
Route::get('/', function () {
return view('welcome');
})
-
;
認証時のメール確認について
+ class User extends Authenticatable implements MustVerifyEmail
- class User extends Authenticatable
このあたりの機能をテストする場合には
MAIL_FROM_ADDRESS="hello@example.com"
この箇所のメールアドレスをユーザー登録すれば、ローカルで確認ができます。
上のURLでMailpitに飛ばない場合はsail ps
でMailpitのポート番号を確認してください。
Laravel Breezeの日本語化
[こちらの記事](https://zenn.dev/circleback/articles/ez-breezy-jp)を参考に進めます。
sail composer require askdkc/breezejp --dev
sail artisan breezejp
他の箇所はここまでの手順で完了していると思うので、上の2行のみで実装できます。
CodeSnifferの導入
sail composer require --dev squizlabs/php_codesniffer
phpcs.xml
を自作して、ルート直下に置いておく。
huskyを使って、git commit時にCodeSnifferを実行するように設定します。
huskyはGitフックを使って動作するため、Gitリポジトリである必要がある。
まだGitリポジトリでない場合は初期化する。
sail git init
Gitリポジトリにしたら
sail npx husky-init
sail npm install
ルート直下に.husky
というディレクトリが入る。
+ ./vendor/bin/sail composer phpcbf
+ ./vendor/bin/sail test
- npm test
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
+ ],
+ "phpcs": [
+ "./vendor/bin/phpcs --standard=phpcs.xml ./"
+ ],
+ "phpcbf": [
+ "./vendor/bin/phpcbf --standard=phpcs.xml ./"
+ ]
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
- ]
一旦ここまで出来れば、あとはそれぞれの開発に進めるのでは…と思っていますが、今後も加筆修正は都度行います。
Discussion