我正在拔掉我所有的头发......一直在搜索每一个线程,如果有人能指出我的工作示例,我将不胜感激。
根据文档:https ://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc 我可以调用另一个模块-> 控制器使用
modules::run('module/controller/method', $params);
modules::load('module/controller/method', $params);
or
$this->load->module('module/controller');
$this->controller->method();
问题:永远不会调用“method()”。每次只调用控制器的构造函数。
目标是将独立的 MVC 构建为模块并供其他控制器使用。但不管我做什么,它只调用构造函数,不调用方法。几周前我开始使用 HMVC,是我遗漏了文档中的某些内容还是没有以这种方式使用?
这是设置:
modules
|--ztest1
| |--controller/c1.php
|--ztest2
|--controller/c2.php
class C1 extends MX_Controller {
function __construct() {
parent::__construct();
}
function index () {
Modules::run('ztest2/c2/testc2/');
//Modules::load('ztest2/c2/testc2/');
//$this->load->module('ztest2/c2/testc2/');
//$this->c2->testc2();
}
}
class C2 extends MX_Controller {
function __construct() {
parent::__construct();
echo __FILE__." // ".__CLASS__."/".__FUNCTION__.PHP_EOL;
}
function testc2(){
echo __FILE__." // ".__CLASS__."/".__FUNCTION__.PHP_EOL;
}
}
output:
/app/modules/ztest2/controllers/c2.php // C2/__construct
附加说明:脚本没有错误或警告。它只是悄悄地调用构造函数。