CodeIgniter无法实例化扩展抽象基础模型的模型

I'm trying to make an application in CodeIgniter where every controller extends a base controller called 'Incyte_Controller.php' and where every model extends a base model called 'Incyte_Model.php'.

I used to import these parent classes in every child class using 'require', but want to change that as it is too redundant for me. So i moved the base files to 'application/core' and changed the base class prefix in Config.php from 'MY_' to 'Incyte_'.

Now, all controllers can extend 'Incyte_Controller' without the use of 'required'.

But, strangely, when the application tries to load a model it says:

Fatal error: Cannot instantiate abstract class Incyte_Model in /opt/lampp/htdocs/incyte/system/core/Common.php on line 172

This happens even though i try to extend the base model in the exact same way i extended the base controller.

I checked for spelling errors, including capital letters, but found none.

Also, i must mention that both base classes are abstract classes, because they shouldn't operate on themselves(my teachers would most likely prefer that)

Please understand i KNOW abstract classes themselves cannot be instantiated, but classes that extend abstract classes CAN be instantiated, and that is what i'm trying to do. But it doesn't seem to work in one case, while it does work in another very similar case, which is strange.

I hope any of you can help

A better way to do this would be to extend the core model class to something like MY_Incyte_Model and then extend this in your actual models.

So instead of class AwesomeModel extends CI_Model you can have class AwesomeModel extends MY_Incyte_Model.

Read more here

https://ellislab.com/codeigniter/user-guide/general/core_classes.html

Go to /opt/lampp/htdocs/incyte/system/core/Common.php and you will find a line trying to do something like this:

new Incyte_Model();

The Incyte_Model class is abstract (which means that it can't be used directly - it has to be sub-classed).

Look into how PHP handles Object Oriented (OO) code.

In particular, look at class abstractions.