Я новичок в MVC и Codeigniter и пытаюсь заставить класс работать.
Я использую CodeIgniter 2.1.0 и Doctrine 2.2.1.
Когда мой код вызывает функцию submit(), я получаю Class 'Myclass_model' not found
и ссылки на строку, которая включает: $u = new Myclass_model();
(См. примечание к редактированию внизу, теперь он получает Class 'Doctrine_Record' not found
в модели, где он расширен)
В моем контроллере следующий код:
public function submit() {
if ($this->_submit_validate() === FALSE) {
$this->index();
return;
}
$u = new Myclass_model();
$u->username = $this->input->post('username');
$u->password = $this->input->post('password');
$u->email = $this->input->post('email');
$u->save();
$this->load->view('submit_success');
}
И в моей папке /application/models/ у меня есть myclass.php:
class Myclass extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn('username', 'string', 255, array('unique' => 'true'));
$this->hasColumn('password', 'string', 255);
$this->hasColumn('email', 'string', 255, array('unique' => 'true'));
}
public function setUp() {
$this->setTableName('testtable1');
$this->actAs('Timestampable');
//$this->hasMutator('password', '_encrypt_password');
}
protected function _encrypt_password($value) {
$salt = '#*seCrEt!@-*%';
$this->_set('password', md5($salt . $value));
//Note: For mutators to work, auto_accessor_override option needs to be enabled. We have already done it, in our plugin file doctrine_pi.php.
}
}
Я подозреваю, что моя проблема связана с расширением Doctrine_Record. У меня установлена доктрина2, а в папке /application/libraries/ есть Doctrine.php и папка Doctrine. Но я не уверен, где проверить или даже как проверить и убедиться, что Doctrine_Record доступен, настроен и т. д.
Может ли кто-нибудь помочь мне устранить эту проблему и выяснить, в чем проблема? Что-то простое с моим классом? Какая-то проблема с моей установкой/настройкой Doctrine?
Редактировать: я последовал предложению о вызове класса следующим образом:
$this->load->model('Myclass_model','u');
И теперь я получаю Class 'Doctrine_Record' not found
, где модель расширяет Doctrine_Record