Я использую codeigniter, и я хочу использовать свою фабричную библиотеку (или, если вы знаете лучший способ), для создания пользователя, пользователь - это класс, расширяющий абстрактную модель. и я получаю сообщение об ошибке, что я не включил абстрактный класс. я не знаю, как включить его в codeigniter. Я не могу просто загрузить абстрактный класс, расширяющий модель. вот мой код:
class User extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('factory');
}
function register(){
$user = $this->factory->create('doctor'); // returns 'doctor_m' or 'patient_m'
$this->load->model($user);
$this->$user->addUser();
}
}
abstract class User_m extends CI_Model{
function __construct() {
parent::__construct();
}
abstract protected function addUser();
abstract protected function getUser();
}
class Doctor_m extends User_m{
function __construct() {
parent::__construct();
}
function addUser() {
echo "doctor";
}
function getUser() {
}
}
class Patient_m extends User_m{
function __construct() {
parent::__construct();
}
function addUser() {
echo 'patient';
}
function getUser() {
}
}
class factory{
function create($type){
if($type == 'doctor') return 'doctor_m';
else return 'patient_m';
}
}
что с этим не так? это лучший способ написать это в MVC? нужна помощь, я действительно запутался.