前のパートに戻る 完了して次のパートへ  

  1-2 Laravel データベース設定

Laravel データベース設定


VSCodeなどのエディタを使い、環境設定ファイル(.envファイル)を開きます。

techpit-match
└── .env

.envファイルの中に、DB_ で始まる項目があります。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

先ほど作成したデータベース名、ユーザー名、パスワード情報に書き換えます。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=techpit
DB_USERNAME=techpit_user
DB_PASSWORD=password123

ファイルを書き換えた後はファイルを保存するようにしてください。

次に、データベース設定ファイル(database.php)を開きます。

techpit-match
└── config
    └── database.php

42行目あたりから、mysqlの設定が記載されています。

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],

DB_DATABASEやDB_USERNAMEと記載されている箇所は、 先ほど.envファイルで入力した値が設定されることになります。


MySQLの注意点

Laravel5.4から標準で、mysqlの文字コード設定がutf8mb4になっていますが、

mysqlのバージョンが5.7.7未満の場合、Syntax Errorが発生する場合があります。

Laravel5.4以上、MySQL5.7.7未満 でusersテーブルのマイグレーションを実行すると Syntax error が発生する

回避策として今回は、文字コードをutf-8に変更します。

charset と collation の箇所を それぞれ utf8mb4 -> utf8 に変更します。

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],


Laravel タイムゾーンと日本語設定


Laravelをインストールした段階では、タイムゾーン・言語が下記の設定になっています。

  • タイムゾーン・・アメリカ時間
  • 言語・・英語

それぞれ下記に変更します。

  • タイムゾーン・・日本
  • 言語・・日本語

タイムゾーンや言語を変更するには、app.phpファイルを編集します。

techpit-match
└── config
    └── app.php

68行目あたりのtimezoneの箇所を、

    'timezone' => 'UTC',

下記のように変更します。

    'timezone' => 'Asia/Tokyo',

81行目あたりのlocaleの箇所を、

    'locale' => 'en',

enからjaに変更します。

    'locale' => 'ja',


エラーメッセージの日本語化設定


Laravelインストール時点では、 ログインフォームなどで不正入力があった際の エラーメッセージが英語で表示されますので、日本語に差し替えます。

有志の方が日本語化対応をされていますので、 下記のURLより4つのファイルをダウンロードしてください。

https://github.com/minoryorg/laravel-resources-lang-ja/tree/master/resources/lang/ja

  • auth.php
  • pagination.php
  • passwords.php
  • validation.php

ダウンロードしたら、

techpit-match/resources/langフォルダの中にjaフォルダを作成し、その中に4つのファイルを保存します。

techpit-match/resources/lang/
└─── ja
      └─── auth.php
      └─── pagination.php
      └─── passwords.php
      └─── validation.php

これでエラー表示が日本語になります。

以上でこのパートは終了です。お疲れ様でした!

議論
0 質問
このコースの評価は?