在PHP CodeIgniter 3中扩展自己的类

时间:2016-03-26 16:09:15

标签: php codeigniter extends

我有两个模型:models/Categories.phpmodels/backend/BE_categories.php

我希望BE_categories类扩展Categories,因为它有一些我可以重复使用的有用功能:

Categories.php

class Categories extends CI_Model
{
...

BE_categories.php

class Be_categories extends Categories
{
...

但是当$this->load->model('models/be_categories')我收到错误时:无法找到指定的类:Session.php 但它适用于执行CI_Model我做错了什么?

2 个答案:

答案 0 :(得分:1)

我只是猜测,你在类别模型中的某个函数中加载Session库,然后尝试在模型BE_Categories中使用具有会话库特定功能的函数。

在config / autoload.php中添加会话库或将其加载到Categories模型构造函数中,并记得在BE_Categories中添加构造函数。

答案 1 :(得分:1)

我还有一个名为Categories.php的控制器,class Categories,这是CI混淆的地方。

我必须 models/Categories.php重命名为models/Categories_model.php以及类名。

但是在扩展时还必须包含该文件:

<强> BE_categories_model.php

include('application/models/Categories_model.php');
class Be_categories_model extends Categories_model
{
...

修改

感谢评论者,可能最好在config / autoload.php中包含此模型,而不是使用PHP的include()函数。