ci2.0必须要显式调用构造函数么?
闲来无事,试试ci2.0,中途遇到半天都解决不了的问题。最后终于被发现了,就是控制器中必须显式调用构造函数function __construct()
{
parent::__construct();
}
把这段代码注释掉,马上报错
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Index::$load
Filename: controllers/index.php
Fatal error: Call to a member function view() on a non-object in T:\gsblog\application\controllers\index.php on line 13
php手册上说,若子类没有显式定义构造函数,则默认调用父构造函数。
按道理说,这个调用写不写完全没有影响的
这是何解?求解释... 唉哟,不好意思。原来用到了保留字index,罪过啊... 这个跟 CI 无关,PHP 规定如果子类有构造函数,就不会自动调用父类的构造函数。
如果子类没有构造函数,会自动调用父类构造函数。
所以你才会看到 parent::__construct();
页:
[1]