Я новичок в 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. У меня установлен doctrine2, а в / application / libraries / у меня есть Doctrine.php и папка Doctrine. Но я не уверен, где проверить или даже проверить и убедиться, что Doctrine_Record доступен, настроен и т. Д.
Может ли кто-нибудь помочь мне устранить это и выяснить, где проблема? Что-то просто с моим классом? Некоторая проблема с моей установкой / конфигурацией Doctrine?
Edit: Я последовал за предложением вызвать класс следующим образом:
$this->load->model('Myclass_model','u');
И теперь я получаю Class 'Doctrine_Record' not found
там, где модель расширяет Doctrine_Record