構成設定
公式:構成設定
【環境】
CakePHP: 4.0.0-RC1
CakePHP: 4.0.0-RC1
初期設定
app.php
CakePHP3 差分
/config/app.php
こちらは、アプリケーション設定のファイル。
CakePHP4 では、
/config/app_local.php
が追加されている。
.gitignore
そして、.gitignore の記述が、CakePHP3 と比べて
- /config/app.php
+ /config/app_local.php
のように変更されている。
結論
環境に依存しない設定を
/config/app.php
環境に依存する設定を
/config/app_local.php
へ、記述するルールみたい。
その他
/config/app_local.example.php
も追加されていた。
作業
データベース
/config/app_local.php
'Datasources' => [
'default' => [
'host' => 'localhost',
/*
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => 'my_app',
'password' => 'secret',
'database' => 'my_app',
/**
* If not using the default 'public' schema with the PostgreSQL driver
* set it here.
*/
//'schema' => 'myapp',
/**
* You can use a DSN string to set the entire configuration
*/
'url' => env('DATABASE_URL', null),
],
/*
* The test connection is used during the test suite.
*/
'test' => [
'host' => 'localhost',
//'port' => 'non_standard_port_number',
'username' => 'my_app',
'password' => 'secret',
'database' => 'test_myapp',
//'schema' => 'myapp',
],
],
本体とテストそれぞれの、
データベースホスト、ユーザ名、パスワード、データベース名を設定。
PostgreSQL
今回は、CakePHP4 デフォルトの MySQL ではなく
PostgreSQL を利用するので
'driver' => 'Cake\Database\Driver\Postgres',
こちらも、本体とテストのそれぞれに追記。
.env
CakePHP3 差分
その他
/config/.env.example
が追加されていた。
作業
bootstrap.php
/config/bootstrap.php
// if (!env('APP_NAME') && file_exists(CONFIG . '.env')) {
// $dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']);
// $dotenv->parse()
// ->putenv()
// ->toEnv()
// ->toServer();
// }
このコメントアウトを復帰。
.env.example
/config/.env.example
こちらに基づいて、
/config/.env
を作成。
export APP_NAME="__APP_NAME__"
export DEBUG="true"
export APP_ENCODING="UTF-8"
export APP_DEFAULT_LOCALE="en_US"
export APP_DEFAULT_TIMEZONE="UTC"
export SECURITY_SALT="__SALT__"
- アプリ名:任意
- ロケール:ja_JP
- タイムゾーン:Asia/Tokyo
- ソルト:ランダム