🔥
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