php – 在CodeIgniter中扩展模型
好吧,我是CodeIgniter Framework的新手,我正在尝试构建一个通用的Model Class.看到:
class Basic_Model extends CI_MODEL { function __construct() { // Call the Model constructor parent::__construct(); } } 我想基于Basic_Model扩展所有模型,如下所示: class Pagina_Model extends Basic_Model { function __construct() { // Call the Model constructor parent::__construct(); } } 问题是当我尝试从Controller调用“pagina_model”时出现以下错误: Fatal error: Class 'Basic_Model' not found in /var/www/myproject/application/models/pagina_model.php on line 12 如果我在控制器中使用“basic_model”一切正常. 编辑1: 我在“/ application / core”中创建了一个名为MY_Basic_Model.php的文件,并将类名更改为“MY_Basic_Model”.但我得到了错误: Fatal error: Class 'MY_Basic_Model' not found in /var/www/myproject/application/models/pagina_model.php on line 12 解决方法
为此,您必须创建Core System Classes(这也称为Method Overriding).
在application / core /目录中创建一个文件MY_Model.php,它将扩展基本CI_Model类: <?php class MY_Model extends CI_Model { function __construct() { parent::__construct(); } } 现在您可以在模型中扩展它(../applicaton/models/): <?php class Pagina_Model extends MY_Model { function __construct() { parent::__construct(); } } 这里有几点需要注意: 如何配置: $config['subclass_prefix'] = 'MY_'; 文档: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |