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::inAPPPATH.“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");
}
}