【发布时间】:2014-01-28 05:04:22
【问题描述】:
我已经实现了 Codeigniter HMVC,效果很好。然后我用MY_Controller 扩展MX_Controller 以在我的所有模块之间共享功能和属性并保持我的代码干燥。
但我注意到,在从 MX_Controller 扩展 MY_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 的问题。有什么想法吗?
【问题讨论】:
-
第一个构造函数有拼写错误吗?
__contruct() -
是的,Yan Berk,就是这样。在收到有关它的 PHP 错误后,我在同一天注意到了这个问题。我修好了它。我从来不明白的是,这怎么能持续几天而不像最后那样拉出一个 php 错误。
标签: codeigniter codeigniter-hmvc