タイムゾーンの設定
LaravelではデフォルトのタイムゾーンにUTCが設定されています。
タイムゾーンとは世界の地域ごとの標準時間のことで、Webアプリはタイムゾーンを自国の標準時間に合わせる必要があります。
UTCはイギリス・ロンドンのグリニッジ天文台を通る子午線を世界中の経度と時刻の基点(本初子午線)とすることが1884年に行われた国際会議で定められました。
タイムゾーンがUTCのままの場合は、UTCに+9時間して計算する必要があります。
これは面倒なので新しくプロジェクトを立ち上げた時はまずタイムゾーンを日本(Asia/Tokyo)に設定するようにします。
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
'faker_locale' => 'ja_JP',
日本語化
Laravelではログインやバリデーションなど便利な機能がありますが、画面に表示されるメッセージはデフォルトで英語になっています。
- auth.php:認証
- passwords.php:パスワードリセット
- pagination.php:ページネーション
- validation.php:バリデーション
上記の機能を日本語化するためにターミナルで下記のコマンドを実行して日本語ファイルをインストールします。
php -r "copy('https://readouble.com/laravel/8.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
php -f install-ja-lang.php
php -r "unlink('install-ja-lang.php');"
インストールしたら「resources/lang/ja/」に追加されているので、必要ならカスタマイズします。
日本語ファイルについてはこちらを参照
https://readouble.com/laravel/8.x/ja/validation-php.html
データベース設定
.envファイルを対象のデータベース情報に合わせて変更します。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=DB名
DB_USERNAME=ユーザー名
DB_PASSWORD=パスワード
データベースの文字コード
PCは扱うデータを数値でしか認識できません。
文字もそのままでは認識してくれないので数値に変換して認識させる必要があります。
文字→数値に変換するときにその文字が何の種類なのかを指定するためにコード番号を指定します。
このコード番号でPCは「その文字が何の文字でどの数値にするのか」を認識することができます。
文字コードは世界中で作られていて約100種類以上あると言われているそうです。
日本で有名な文字コードは以下の4つです。
- UTF-8
- JIS
- Shift_JIS
- EUC
- Unicode
(それぞれの説明はまたいつか)
今回設定したUTF-8は基礎的な文字コードの1つで、基本的な文字コードであるASCIIコードとの互換性も高いことから、多くのソフトウェア開発でも使用されています。
WEBアプリも同様にデータベースに入っているデータの文字コードを指定します。
mysql => [
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
],
デバッグバー
自分の作っているプロジェクトのどこかでエラーになっていた時にいち早く目で検知できるのがデバッグバーです。デバッグバーをインストールしておくとブラウザの下部にLaravelデバッガーが表示されるようになって便利です。
個人的に最初のプロジェクトで一番よくみていたのがこのデバッグバーです。
ターミナルで下記のコマンドを実行してインストールします。
composer require barryvdh/laravel-debugbar
envファイルのAPP_DEBUGをtrueにします。
ここをfalseにするとデバッガーは無効になります。
本番環境ではここをfalseにしないと事故ります。
開発環境のみtrueにするようにしましょう。
APP_DEBUG=true