Rwd*_*Rwd 4 php codeigniter codeigniter-2
我已经看到了几个不同的帖子,但它们似乎都不适合我.
我有一个扩展CI_Model的类:
class Users_Model extends CI_Model {
public function __construct(){
parent::__construct();
}
Run Code Online (Sandbox Code Playgroud)
然后:
class Students_Model extends Users_Model {
private $_students;
public function __construct(){
parent::__construct();
$this->_students = $this->get_students();
}
Run Code Online (Sandbox Code Playgroud)
但是,然后我收到此错误消息:
PHP Fatal error: Class 'Users_Model' not found in /Users/rosswilson/Localhost/thedrumrooms/dreamweaver/ci/application/models/students_model.php
Run Code Online (Sandbox Code Playgroud)
我曾经require_once在扩展类中包含该文件,它可以工作.这是最好的做法/正确的方法吗?
谢谢.
CI中的标准做法是在application/corenamed中创建基本模型MY_Model.php,具体MY_取决于配置中定义的内容.
然后在你的内部MY_Model.php你可以在你的模型中扩展该文件中定义的许多类,基本上CodeIgniter的加载模型在这个路径和文件中查找已定义的类.
但是如果你想使用require_once你必须使用定义的APPPATH(应用程序路径)index.php.但是,您的自定义模型仍然需要扩展,CI_Model因为它使用CI模型的核心类,否则您的模型将无法工作.
前 require_once APPPATH.'/models/test.php';
增加说明:
谢谢@dean或者指出这一点.在MY_Model.php文件内部必须有一个MY_Model class扩展CI_Model.