サイトタイトルは4.4.5
と表示されていますが、そのうち訂正されるのでは?
Modules
CodeIgniter 4.5で、modulesフォルダを設置する場合で、わかったことを書きます。
Info
自分自身の備忘録として、書いています。
まだ十分に把握してなかったり、勘違いしている部分もあるかもしれません。
ご了承ください。
まだ十分に把握してなかったり、勘違いしている部分もあるかもしれません。
ご了承ください。
使用環境
Name | Version |
---|---|
PHP | 8.3.6 |
CodeIgniter | 4.5.1 |
app/Config/Autoload.php
下記は、ドキュメントから引用しています。
public $psr4 = [ APP_NAMESPACE => APPPATH, // For custom namespace 'Config' => APPPATH . 'Config', 'Acme\Blog' => ROOTPATH . 'acme/Blog', ];
'Config' => APPPATH . 'Config',
の行は、app\Config\Routing.php
に移動したので、要らないはずです。
私が行なった設定は、下記の通りです。
public $psr4 = [ APP_NAMESPACE => APPPATH, // For custom app namespace 'Modules' => ROOTPATH. 'modules', 'Modules/Blog' => ROOTPATH. 'modules/Blog' ];
app/Config/Routing.php
public string $defaultNamespace = '';
そもそも、defaultNamespace
を設定する必要性があるとは、思えない。
app/Config/Routes.php
$routes->get('/', 'App\Controllers\Home::index');
php spark routes
php spark routes
をした結果が、下記の通りです。
+--------+------------------------+------+-----------------------------------------------------------------------+----------------+---------------+ | Method | Route | Name | Handler | Before Filters | After Filters | +--------+------------------------+------+-----------------------------------------------------------------------+----------------+---------------+ | GET | / | » | \App\Controllers\Home::index | | | | GET | blog | » | \Modules\Blog\Controllers\Blog::index | | | +--------+------------------------+------+-----------------------------------------------------------------------+----------------+---------------+