Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Laravel】データベース設定ファイル database.phpと.env

PHPバージョン:7.1.14
Laravelバージョン:5.7.9

今回はLaravelのデータベース設定ファイルについてです!
データベースはMySQLを使います!
こちらを参考にローカル環境(Mac)にインストールしました!
Mac へ MySQL を Homebrew でインストールする手順 - Qiita



database.phpファイルで設定

データベースの設定は、
config>database.phpファイルにて行います!

<?php
return [
    'default' => env('DB_CONNECTION', 'mysql'),

    'connections' => [

        'sqlite' => [
            //〜省略〜
        ],

        '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,
        ],

        'pgsql' => [
            //〜省略〜
        ],

        'sqlsrv' => [
            //〜省略〜
        ],

    ],

    'migrations' => 'migrations',

    'redis' => [
        //〜省略〜
    ],
];

config>database.php

データベースに関する情報の配列をreturnしているだけのphpファイルですね。
connections配列にはsqlite(SQLite), mysql(MySQL), pgsql(PostgreSQL), sqlsrv(Microsoft SQL Server)に関する設定が記述されています。
今回はMySQLを使うので、それ以外のデータベース設定については省略。

 'default' => env('DB_CONNECTION', 'mysql')

'default'変数は使用するデータベースを指定します。
envメソッドは.env ファイルに設定されている環境変数を呼び出します。
第1引数で環境変数を指定して呼び出し、
第2引数はデフォルトの値です。(.envファイルが無い、環境変数が無いなど)

続いて、connectionsのmysql配列の中で設定されている項目について見ていきましょう!
全ての項目にenvメソッドが使われています。
driver:mysqlやsqliteなど、SQLの種類を指定。
host:データベースの置いてあるサーバーのIPアドレスを指定。
port:データベースの置いてあるサーバーのポートを指定。MySQLのポート番号は3306と定められている。
database:MySQLで作成したデータベース名。
username:MySQLに登録したユーザー名。
password:MySQLでusernameと一緒に設定したパスワード。
unix_socket:UNIXドメインソケット。mysql.sockファイルパスを指定。(空欄でOK)
charset:文字コードを指定。デフォルトはutf8mb4。
collation:MySQLの照合順序。デフォルトはutf8mb4_unicode_ci。
prefix:MySQLのテーブル名先頭に接頭語をつける。1つのDBを複数アプリで使用する時などに活用。
strict:STRICTモード(不適切なデータ値を許可しないモード)にするか。デフォルト値はtrue。
engine:ストレージエンジンを指定。デフォルト値はnull。nullの場合はMySQLのデフォルト値を採用。

host、port、database、username、password辺りを
自分のMySQL環境に合わせて設定します。
(他はデフォルトでOK)

.envファイル

続いて.envファイルを設定します!
database.phpにあったenvメソッド第2引数はあくまでデフォルト値、
.envファイルが無かったり環境変数が無い時の保険で、
優先されるのは.envファイルの値です。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
||>
<span style="color: #0000cc"><b>.env</b></span>

データベース関連はこれら変数です。
MySQLを使う場合に変更する必要があるのは以下3つの変数です。
<b>DB_DATABASE:</b>MySQLで作成したデータベース名
<b>DB_USERNAME:</b>MySQLに登録したユーザー名
<b>DB_PASSWORD:</b>がユーザー名に対するパスワード

以上、Laravelにおけるデータベース設定ファイルの設定でした!
データベースの設定が完了したので、
次回はLaravelの機能を使ってデータベースを構築していきます!