如何将URI路由到应用程序/控制器&仍然使用Module ::在CI3中运行HMVC

时间:2016-04-01 08:10:36

标签: php .htaccess codeigniter codeigniter-3 codeigniter-hmvc

我只使用模块进行部分视图,它们永远不会直接路由到。相反,我有application/views/内的主控制器和Modules::run($moduleName, $params);内的执行application/controller/的视图。这会调用模块并在到达时呈现正常。

问题是我的路线都没有调用他们的route['default_controller']方法。这意味着我的路由已完全停止工作,只有我的application/views定义的主页有效。因为$route['default_controller'] = "dashboardcontroller/index"; $route['playlist(|.+?)'] = "dashboardcontroller/custommethod"; 中的主模板文件成功调用Modules :: run($ moduleName,$ params),我可以验证模块和HMVC是否可以独立工作。

我最近从CodeIgniter 2升级到3以及WireDesignz的Module Extensions - HMVC包。请参阅图片了解目录结构和相关文件。

enter image description here

@ /application/config/routes.php:

die()

@ /application/controllers/Dashboardcontroller.php(注意<?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"); } } 语句):

{{1}}

当我更改Dashboardcontroller.php以扩展CI_Controller时,我得到一系列错误,从MX / Base.php开始重新声明CI类。

如何将URI路由到应用程序/控制器并仍然使用Module :: run($ moduleName,$ params)?

0 个答案:

没有答案