检索在Codeigniter中从中调用函数的模块的名称

时间:2013-06-02 03:50:18

标签: php codeigniter hmvc

我想显示在codeigniter中从中调用函数的模块名称。例如,考虑是否有2个模块,abc和xyz。两者都有控制器abc和xyz,其片段类似于:

class Abc{
 function __construct() {
   parent::__construct();
 }}

并且

class Xyz{
  function __construct() {
   parent::__construct();
  }
  function index() {
    $this->load->module('abc');
    echo $this->router->fetch_module();
  }
 }

现在当我调用模块xyz的索引函数时,我得到输出为'abc',我想要显示函数所在模块的名称,即xyz。任何解决方案?

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样?如果我遗漏了一些明显的东西,我没有使用过CodeIgniter HMVC,所以道歉。

class Abc{
 protected $rootModuleName;

 function __construct() {
   parent::__construct();
 }

 function setRootModuleName($name) {
    $this->rootModuleName = $name;
 }
}

class Xyz{
  function __construct() {
   parent::__construct();
  }
  function index() {
    $this->load->module('abc');
    $this->abc->setRootModuleName(__CLASS__); //or you could just pass the string 'Xyz'

    //This call would need to somehow make use of the $rootModuleName property
    echo $this->router->fetch_module();
  }
 }