CodeIgniter4の設定
(2022-12-17 追記) この記事は古くなっています。 「CodeIgniter 4.2の初期設定」 を参照してください。
この記事は CodeIgniter Advent Calendar 2020 - Qiita の6日目です。まだ、空きがありますので、興味のある方は気軽に参加してください。
設定ファイル
CodeIgniter4 の設定ファイルは、プロジェクトのルートに配置する .env
ファイルと、app/Config/
以下の設定ファイルがあります。
.env ファイル
.env
はインストール直後には存在せず、サンプルとしての env
ファイルが用意されています。env
を .env
にコピーすれば OK です。
.env
は環境変数を設定するためのものです。開発環境固有の設定値(データベース接続情報など)を設定します。.env
は Git などのバージョン管理に含めてはいけません。.env
はすでに定義されている環境変数は変更しません。- CodeIgniter4 の設定クラスがインスタンス化される時に、対応する環境変数があるとその値がプロパティに自動的に設定されます。
設定の変更箇所
多くのプロジェクトで変更するであろう設定は以下になります。
.env ファイル
開発環境では、.env
で CI_ENVIRONMENT
を development
に変更します。それと、app.baseURL
を設定します。
--- env 2020-07-16 12:44:28.000000000 +0900
+++ .env 2020-12-10 11:57:37.000000000 +0900
@@ -14,13 +14,13 @@
# ENVIRONMENT
#--------------------------------------------------------------------
-# CI_ENVIRONMENT = production
+CI_ENVIRONMENT = development
#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
-# app.baseURL = ''
+app.baseURL = http://localhost:8080/
# app.forceGlobalSecureRequests = false
# app.sessionDriver = 'CodeIgniter\Session\Handlers\FileHandler'
(2020-12-10 追記) app.baseURL の設定を追記しました。
それとデータベース接続設定を変更するでしょう。
@@ -49,11 +49,11 @@
# DATABASE
#--------------------------------------------------------------------
-# database.default.hostname = localhost
-# database.default.database = ci4
-# database.default.username = root
-# database.default.password = root
-# database.default.DBDriver = MySQLi
+database.default.hostname = localhost
+database.default.database = ci4tutorial
+database.default.username = dbuser
+database.default.password = dbpassword
+database.default.DBDriver = MySQLi
# database.tests.hostname = localhost
# database.tests.database = ci4
また、ログレベルを上げた方がいいでしょう。
@@ -99,3 +99,5 @@
# honeypot.name = 'honeypot'
# honeypot.template = '<label>{label}</label><input type="text" name="{name}" value=""/>'
# honeypot.container = '<div style="display:none">{template}</div>'
+
+logger.threshold = 9
app/Config 設定ファイル
設定ファイルでは、デフォルトの言語を日本語 ja
に、タイムゾーンを日本時間に変更するでしょう。
なお、システムメッセージを日本語にするには、別途、codeigniter4/translations
のインストールが必要です。CodeIgniter4のシステムメッセージを日本語にする を参照してください。
--- a/app/Config/App.php
+++ b/app/Config/App.php
@@ -63,7 +63,7 @@ class App extends BaseConfig
| should run under for this request.
|
*/
- public $defaultLocale = 'en';
+ public $defaultLocale = 'ja';
/*
|--------------------------------------------------------------------------
@@ -99,7 +99,7 @@ class App extends BaseConfig
| dates with the date helper, and can be retrieved through app_timezone()
|
*/
- public $appTimezone = 'America/Chicago';
+ public $appTimezone = 'Asia/Tokyo';
/*
|--------------------------------------------------------------------------
デフォルトでは off の CSRF 保護のフィルタを有効にします。
--- a/app/Config/Filters.php
+++ b/app/Config/Filters.php
@@ -16,7 +16,7 @@ class Filters extends BaseConfig
public $globals = [
'before' => [
//'honeypot'
- // 'csrf',
+ 'csrf',
],
'after' => [
'toolbar',
ひとまず、これくらいでしょうか。
この記事は CodeIgniter Advent Calendar 2020 - Qiita の6日目です。まだ、空きがありますので、興味のある方は気軽に参加してください。
参考
Date: 2020/12/06