我已经实施了Codeigniter HMVC,效果很好。然后我用MX_Controller
扩展MY_Controller
以在我的所有模块之间共享功能和属性,并保持我的代码干。
但我注意到,在MY_Controller
扩展MX_Controller
时,我无法再从任何扩展子类的MY_Controller
访问公共属性。
一些示例代码:
class MY_Controller extends MX_Controller {
public $variable;
function __contruct()
{
parent::__contruct();
$this->variable = 'Foo';
}
}
然后在我从MY_Controller延伸的任何控制器上:
class Foo extends MY_Controller {
function __construct()
{
parent::__construct();
}
function someFunction()
{
var_dump($this->variable);
}
}
当我尝试访问任何子控制器中的公共属性$variable
时,我得到Null
或空字符串。
为了这个没有运气,我搜索了高低,我的唯一猜测是HMVC MX_Controller
的问题。任何想法?
答案 0 :(得分:0)
经过几个小时的检查,这是我的一个简单错误。我在MY_Controller上拼错了名字parent :: __ contruct,它应该是parent:__ construct。