我把所有的头发都扯掉了。。。一直在寻找每一个线索,如果有人可以指出我的工作实例,我将不胜感激。

加入文档: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()”。每次仅调用 Controller 的构造函数。

目标是构建独立的MVC作为模块并由其他 Controller 使用。
但是无论我做什么,它仅调用构造函数,而不会调用方法。
几周前我开始使用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

附加说明:脚本无错误或警告。它只是悄悄地调用构造函数。

最佳答案

该HMVC对我来说效果很好。我现在正在使用此HMVC进行项目。
只需按照下面此链接中所示编辑third_party/MX/Modules.php,然后告诉我答复。

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/pull-request/5/return-error-messages-instead-of-logging/diff

09-05 19:17