【发布时间】:2015-11-25 14:36:57
【问题描述】:
我正在尝试在 CodeIgniter 中创建一个应用程序,其中每个控制器都扩展了一个名为“Incyte_Controller.php”的基本控制器,并且每个模型都扩展了一个名为“Incyte_Model.php”的基本模型。
我曾经使用'require'在每个子类中导入这些父类,但我想改变它,因为它对我来说太多余了。 所以我将基本文件移动到“应用程序/核心”,并将 Config.php 中的基类前缀从“MY_”更改为“Incyte_”。
现在,所有控制器都可以在不使用“required”的情况下扩展“Incyte_Controller”。
但是,奇怪的是,当应用程序尝试加载 模型 时,它会说:
致命错误:无法在其中实例化抽象类 Incyte_Model /opt/lampp/htdocs/incyte/system/core/Common.php 在第 172 行
即使我尝试以与扩展基本控制器完全相同的方式扩展基本模型,也会发生这种情况。
我检查了拼写错误,包括大写字母,但没有发现。
另外,我必须提到两个基类都是抽象类,因为它们不应该对自己进行操作(我的老师很可能更喜欢这样)
请理解我知道抽象类本身不能被实例化,但是扩展抽象类的类可以被实例化,这就是我想要做的。但它似乎在一种情况下不起作用,而在另一种非常相似的情况下确实起作用,这很奇怪。
希望大家帮忙
【问题讨论】:
标签: php codeigniter abstract-class extends codeigniter-base-model