【发布时间】:2011-09-09 11:26:05
【问题描述】:
我正在使用 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 中编写它的最佳方式吗?需要帮助我真的很困惑。
【问题讨论】:
标签: php model-view-controller codeigniter factory abstract