我是CI的新手,我正在维护一个CI项目,这个项目之前由另一个人开发。
这个人在应用程序/核心中创建了自己的MY_Model,他创建的所有模型都扩展了MY_Model。
我不喜欢他建造的核心模型,而是想在我最近创建的其他模型中使用Jamie Rumbelow的MY_Model。
但由于几乎所有旧模型已经扩展了MY_Model,我不能只替换MY_Model。
我如何使用Jamie Rumbelow的MY_Model'并仍旧使旧模型有效?
感谢您的任何建议!
答案 0 :(得分:2)
您必须重命名其中一个MY_Model类,并将它们放在MY_Model.php文件中(或者从那里包含重命名的文件)。例如,如果你要将Jamie Rumbelow的类重命名为JR_Model,那么这就是你的MY_Model.php文件的样子:
class MY_Model extends CI_Model {
// your predecessor's code
}
class JR_Model extends CI_Model {
// Jamie Rumbelow's code
}
...然后你可以在任何你喜欢的地方从JR_Model扩展,而不会破坏你的旧模型。
请注意,将文件名保留为“MY_Model.php”很重要,因为这是CodeIgniter在加载CI_Model扩展时会查找的内容。