CodeIgniter4の各種設定項目のまとめ記事
CodeIgniter4.4.4の各種設定項目を後から確認できるようまとめておきたい。追加で設定変更等を行った場合は本記事に追記していく。
目次
環境設定(テスト環境 or 本番環境)
.envファイルのCI_ENVIRONMENTで設定する。
#テスト環境の場合 CI_ENVIRONMENT = development #本番環境の場合 CI_ENVIRONMENT = production
サイトのURL設定
.envファイルのbaseURLで設定する。
app.baseURL = 'https://test.com/codeigniter4/'
MySQL設定
/app/Config/Database.phpで設定する。.envファイルでも設定できるみたいだけど複数データベースを使用する可能性も考慮しDatabase.phpで設定した。変更箇所は以下の【】内になる。
public array $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => '【ユーザ名】',
'password' => '【パスワード'】,
'database' => '【データベース名】',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => true,
'charset' => 'utf8',
'DBCollat' => 'utf8_general_ci',
'swapPre' => '',
'encrypt' => false,
'compress' => false,
'strictOn' => false,
'failover' => [],
'port' => 3306,
'numberNative' => false,
];
タイムゾーン設定
/app/Config/App.phpの$appTimezoneで設定する。
#変更前 public string $appTimezone = 'UTC'; #変更後 public string $appTimezone = 'Asia/Tokyo';
URL最後にスラッシュがあった場合にリダイレクトされる設定変更
「https://test.com/codeigniter4/test/」というURLを開こうとすると「https://test.com/codeigniter4/public/test」のようなURLにリダイレクトされる。スラッシュの有無はそこまで気にしないけどURLに「public」という文字が入るのは微妙。なので「/public/.htaccess」の以下部分をコメントアウトした(これが正しい設定かは不明)。
# Redirect Trailing Slashes...
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} (.+)/$
#RewriteRule ^ %1 [L,R=301]
URLにindex.phpを付けない設定
これを設定しておかないとhelper等でURLを記述した場合に変なURLになる。具体的にはformのhelperを用いて「form_open('contact/confirm')」を記述すると「https://test.com/codeigniter4/index.php/contact/confirm」というURLが出力された。
そのため/app/Config/App.phpの$indexPageで設定する。
#変更前 public string $indexPage = 'index.php'; #変更後 public string $indexPage = '';
バリデートのエラーメッセージを日本語化させる設定
Validation.phpの用意
「/codeigniter4/app/Language/ja」ディレクトリを作成し、以下を記述したValidation.phpをアップロードする。
<?php
/**
* Validation language strings.
*
* @package CodeIgniter
* @author CodeIgniter Dev Team
* @copyright 2019-2020 CodeIgniter Foundation
* @license https://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com
* @since Version 4.0.0
* @filesource
*
* @codeCoverageIgnore
*/
return [
// Core Messages
'noRuleSets' => 'バリデーションに必要なルールが設定されていません。',
'ruleNotFound' => '{0} は有効なルールではありません。',
'groupNotFound' => '{0} はバリデーションルールグループではありません。',
'groupNotArray' => '{0} ルールグループは配列ではありません。',
'invalidTemplate' => '{0} は有効なバリデーションテンプレートではありません。',
// Rule Messages
'alpha' => '{field} には、アルファベットのみを入力してください。',
'alpha_dash' => '{field} には、半角英数字、アンダースコア、ダッシュのみを入力してください。',
'alpha_numeric' => '{field} には、半角英数字のみを入力してください。',
'alpha_numeric_punct' => '{field} には、半角英数字、半角スペース、~ ! # $ % & * - _ + = | : . のみを入力してください。',
'alpha_numeric_space' => '{field} には、半角英数字と半角スペースのみを入力してください。',
'alpha_space' => '{field} には、アルファベットと半角スペースのみを入力してください。',
'decimal' => '{field} には、半角で10進数を入力してください。',
'differs' => '{field} には、{param} と異なる値を入力してください。。',
'equals' => '{field} は、{param} と一致しなければなりません。',
'exact_length' => '{field} の長さは {param} 文字でなければなりません。',
'greater_than' => '{field} には、{param} より大きい半角数値を入力してください。',
'greater_than_equal_to' => '{field} には、{param} 以上の半角数値を入力してください。',
'hex' => '{field} には、16進数文字を入力してください。',
'in_list' => '{field} には、{param} のいずれかの値を入力してください。',
'integer' => '{field} には、半角整数を入力してください。',
'is_natural' => '{field} には、半角数字のみを入力してください。',
'is_natural_no_zero' => '{field} には、半角数字のみを、0より大きい値で入力してください。',
'is_not_unique' => '{field} には、データベース内の既存の値が含まれている必要があります。',
'is_unique' => '{field} には、一意の値が含まれている必要があります。',
'less_than' => '{field} には、{param} より小さい半角数値を入力してください。',
'less_than_equal_to' => '{field} には、{param} 以下の半角数値を入力してください。',
'matches' => '{field} は {param} と一致しません。',
'max_length' => '{field} は {param} 文字以内で入力してください。',
'min_length' => '{field} は {param} 文字以上で入力してください。',
'not_equals' => '{field} は {param} と一致しません。',
'numeric' => '{field} には、半角数字のみを入力してください。',
'regex_match' => '{field} の形式が正しくありません。',
'required' => '{field} は、必須入力です。',
'required_with' => '{param} が存在する場合、{field} は必須となります。',
'required_without' => '{param} が存在しない場合、{field} は必須となります。',
'timezone' => '{field} は有効なタイムゾーンではありません。',
'valid_base64' => '{field} には、有効なbase64文字列を入力してください。',
'valid_email' => '{field} は、有効なメールアドレスではありません。',
'valid_emails' => '{field} に、無効なメールアドレスが含まれています。',
'valid_ip' => '{field} には、有効なIPアドレスを入力してください。',
'valid_url' => '{field} には、有効なURLを入力してください。',
'valid_date' => '{field} には、有効な日付を入力してください。',
// Credit Cards
'valid_cc_num' => '{field} は、有効なクレジットカード番号ではありません。',
// Files
'uploaded' => '{field} は、有効なファイルではありません。',
'max_size' => '{field} は、ファイルサイズが大きすぎます。',
'is_image' => '{field} には、画像ファイルを指定してください。',
'mime_in' => '{field} は、有効なMIMEタイプではありません。',
'ext_in' => '{field} は、有効なファイル拡張子ではありません。',
'max_dims' => '{field} は画像ファイルではないか、幅が広すぎるか高すぎます。',
];
設定ファイルの変更
「application/Config/App.php」を以下の通り変更する。
#変更前 public $defaultLocale = 'en'; #変更後 public $defaultLocale = 'ja';
関連記事
-
-
CodeIgniter4で特定のページにアクセスがあった際に301リダイレクトさせる方法
CodeIgniter4で特定のページにアクセスがあった際に301リダイレクトさ ...
-
-
CodeIgniter4 & reCAPTCHA でお問い合わせフォームを作成する方法
以前CodeIgniter4.4.4で簡易的なお問い合わせページを作成したが、今 ...
-
-
CodeIgniter4で祝日一覧APIにCURLでリクエストし結果をファイルキャッシュする方法
Codeigniter4.4.4で祝日一覧APIにCURLでリクエストしたい。尚 ...
-
-
Codeigniter4で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
Codeigniter4.4.4でCSS及びJavaScriptファイルを設置し ...
-
-
CodeIgniter4で簡易版ログインシステムの実装方法(管理画面向け)
CodeIgniter4で管理画面向けの簡易版ログインシステムを作成したい。通常 ...