CodeIgniter4のモジュール(HMVC)内の設定ファイルとヘルパーの呼び出し方
動作確認環境
- CodeIgniter 4.1.6-dev (4.1.5)
設定ファイル
new する
これが、基本でシンプルです。モジュールにある設定ファイルを確実にロードできます。
$config = new \Acme\Blog\Config\Blog();
config() 関数
config() 関数にクラス名を指定することもできます。
config() の実体は Factories::config() です。
$config = config(\Acme\Blog\Config\Blog::class);
しかし、app/Config/Blog.php が存在するとそちらがロードされます。
バグでしょうか?いいえ、これは Factories のデフォルト(app/ が優先される)とのことです。
(2023-08-17 追記)
この完全修飾クラス名を指定しても App 名前空間にあるクラスがロードされるという、わかりづらい振る舞いは、
v4.4.0 から変更される予定です。デフォルトでは指定したクラスがロードされるようになります。
短いクラス名のみでも指定できます。
$config = config('Blog');
これも、app/Config/Blog.php が存在するとそちらがロードされます。
ヘルパー
ヘルパー名(ファイル名から _helper.php を削除したもの)を指定します。
helper('blog');
app/Helpers/blog_helper.php が存在するとそちらがロードされます。
名前空間風のヘルパー名(名前空間+ヘルパー名)を指定することもできます。
helper('Acme\Blog\blog');
名前空間に Helpers を入れてもロードされました。
helper('Acme\Blog\Helpers\blog');
関連
参考
Date: 2021/11/29



![徹底攻略PHP5技術者認定[上級]試験問題集 [PJ0-200]対応 徹底攻略PHP5技術者認定[上級]試験問題集 [PJ0-200]対応](http://tatsu-zine.com/images/books/164/cover_s.jpg)

