我想显示在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。任何解决方案?
答案 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();
}
}