You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter4 4.4.0多模块路由加载问题求助

CodeIgniter4 4.4.0 多模块路由无法识别的解决方法
  • 确认命名空间与路径映射
    在Config/Autoload.php的$psr4数组中,确保每个模块的命名空间都对应了正确的文件系统路径:

    public $psr4 = [
        APP_NAMESPACE => APPPATH,
        'Config'      => APPPATH . 'Config',
        'BudgetingModule' => APPPATH . 'Modules/BudgetingModule',
        'FeeModule' => APPPATH . 'Modules/FeeModule',
    ];
    
  • 修正$routeFiles的路径格式
    Routing.php中的$routeFiles需要传入实际文件路径,而非命名空间路径,修改为:

    public array $routeFiles = [
        APPPATH . 'Config/Routes.php',
        APPPATH . 'Modules/BudgetingModule/Config/Routes.php',
        APPPATH . 'Modules/FeeModule/Config/Routes.php',
    ];
    
  • 为模块路由单独设置默认命名空间
    在每个模块的Routes.php文件开头,指定该模块控制器的默认命名空间,避免全局命名空间冲突:

    // BudgetingModule/Config/Routes.php
    $routes->setDefaultNamespace('BudgetingModule\Controllers');
    // 模块路由规则示例
    $routes->get('/budgeting', 'Home::index');
    
    // FeeModule/Config/Routes.php
    $routes->setDefaultNamespace('FeeModule\Controllers');
    // 模块路由规则示例
    $routes->get('/fee', 'Home::index');
    
  • 清除配置与缓存
    执行以下命令清除升级后可能遗留的旧缓存:

    php spark cache:clear
    php spark config:clear
    

内容的提问来源于stack exchange,提问作者Olisa Agbafor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 11:33:12