🔥
CodeIgniter4で新しいCI_ENVIRONMENTを定義する
CodeIgniter Advent Calendar 2021
CI_ENVIRONMENT
CodeIgniter4ではデフォルトで、production, development, testing の3つ環境が定義されています。
- production ... デフォルト。本番環境用
- development ... 開発環境用
- testing ... PHPUnitのテスト環境用
何も設定しないと production
となり、エラーが起こっても「Whoops!」としか表示されません。
設定変更は、.env
ファイルか環境変数を設定することで可能です。通常、開発時には、development
を指定します。
.env
CI_ENVIRONMENT = development
testing
はPHPUnitの実行時に使われる特殊な環境です。CodeIgniter内部の振る舞いがPHPUnit用に変わりますので、開発やテスト環境で指定することはできません。
例えば、ステージングで production
というのは紛らわしいのでいやだ、など定義済みの環境では合わない要求がある場合、新しい環境を定義します。
新しい環境の作成方法
新しい環境を追加するのに必要なことは、Bootファイルを作成するだけです。
例えば、staging
環境を作成したい場合は、app/Config/Boot/staging.php
を作成します。
すでに、app/Config/Boot/development.php
や app/Config/Boot/production.php
がありますので、それらをコピーして作成してください。
なお、app/Config/Boot/staging.php
がない状態で、CI_ENVIRONMENT
に staging
を設定すると、以下のエラーメッセージが表示されます。
The application environment is not set correctly.
Discussion