codeigniter + HMVC cross module call controller-> method
Eu estou tirando todo o meu cabelo ... Tenho procurado cada tópico, gostaria que alguém me apontasse para um exemplo prático.
Acreditando no documento:https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc Eu posso chamar outro módulo-> controlador usando
modules::run('module/controller/method', $params);
modules::load('module/controller/method', $params);
or
$this->load->module('module/controller');
$this->controller->method();
Problema: o "método ()" nunca é chamado. somente o construtor do controlador é chamado toda vez.
O objetivo é construir MVCs independentes como módulo e uso por outros controladores. Mas não importa o que eu faça, ele só chama o construtor, o método não é chamado. Comecei a usar o HMVC há algumas semanas, senti falta de algo no documento ou não é usado dessa maneira?
Aqui está a configuração:
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
nota adicional: nenhum erro ou aviso com o script. Apenas chama silenciosamente o construtor.