我在/ library中有这个类。
class CI_Decorator extends CI_Controller {
public function __construct() {
parent::__construct();
}
}
我得到的错误非常奇怪:
Message: Undefined property: CI_Decorator::$load
Filename: libraries/Form_validation.php
Backtrace:
File: /application/libraries/CI_Decorator.php
因为我尝试使用
获取CI_Controller构造函数parent::__construct();
更新:
我正在尝试实现此Decorator,但我认为是为早期版本的CI开发的。
答案 0 :(得分:1)
将文件名更改为Decorator.php,并在类文件中使用此文件。
class Decorator{
//there is no parent so you cannot call a parent constructor
//public function __construct() {
//parent::__construct();
//}
}
当您希望替换CodeIgniter的核心类之一时,仅使用“CI_”作为文件(或类)名称的前缀。如果不存在具有该名称的核心类,则加载将失败。
如果要扩展本机类,那么您将使用MY_
或您在config.php中设置的前缀
$config['subclass_prefix'] = 'YOURPREFIX_';
不止一次扩展CI_Controller也令人沮丧,你会遇到一个不同但相关的问题。您将在Stack Overflow上找到该问题的许多答案。在上面的搜索框中使用搜索词“[codeigniter] extends CI_controller”(不带引号)