Php 如何将URI路由到应用程序/控制器&;仍然使用模块::在带有HMVC的CI3中运行

Php 如何将URI路由到应用程序/控制器&;仍然使用模块::在带有HMVC的CI3中运行,php,.htaccess,codeigniter,codeigniter-3,codeigniter-hmvc,Php,.htaccess,Codeigniter,Codeigniter 3,Codeigniter Hmvc,我仅将模块用于局部视图,它们从未直接路由到。相反,我在application/controllers中有主控制器,在application/views/中有视图,它们执行Modules::run($moduleName,$params)这将调用模块并在到达时呈现良好效果 问题是我的所有路由都没有调用它们的应用程序/controller/方法。这意味着我的路由已经完全停止工作,只有我的路由['default\u controller']定义的主页可以工作。由于我在应用程序/视图中的主模板文件成功调

我仅将模块用于局部视图,它们从未直接路由到。相反,我在
application/controllers
中有主控制器,在
application/views/
中有视图,它们执行
Modules::run($moduleName,$params)这将调用模块并在到达时呈现良好效果

问题是我的所有路由都没有调用它们的
应用程序/controller/
方法。这意味着我的路由已经完全停止工作,只有我的
路由['default\u controller']
定义的主页可以工作。由于我在
应用程序/视图中的主模板文件成功调用Modules::run($moduleName,$params),我可以独立验证模块和HMVC是否正常工作。

我最近从CodeIgniter 2升级到了3,以及WireDesignz的软件包。目录说明及相关文件见图片

@/application/config/routes.php:

$route['default_controller'] = "dashboardcontroller/index";
$route['playlist(|.+?)'] = "dashboardcontroller/custommethod";
@/application/controllers/Dashboardcontroller.php(注意
die()
语句):


APPPATH.“controllers”
中使用Modules::可以得到什么,而不是在Modules目录中?如果您需要
模块::
静态方法只需使用HMVC方式。@Tpojka,我从我的仪表板控制器创建了一个模块,并通过
默认\u控制器
路由到它,但是
$this->uri->uri\u string()
仍然是空的,因此没有任何东西真正起作用。您可以对
(:any)
(:num)等段使用CI卡吗
在某种程度上?使用Modules::in
APPPATH.“controllers”
而不是Modules目录可以得到什么?如果您需要
模块::
静态方法只需使用HMVC方式。@Tpojka,我从我的仪表板控制器创建了一个模块,并通过
默认\u控制器
路由到它,但是
$this->uri->uri\u string()
仍然是空的,因此没有任何东西真正起作用。您可以对
(:any)
(:num)等段使用CI卡吗
在某种程度上?
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class dashboardcontroller extends MX_Controller {

    private $data = array("pagi"=>array(), "me"=>array(), 'errors'=>null);

    function __construct() {
        parent::__construct();
    }
    function index() {
        die("THIS IS THE ONLY THING EVER HIT");
    }   
    function custommethod($moduleName, $params) {
         die("THIS IS NEVER HIT");      
    }
}