我想使用OOP PHP構建MVC模式。請閱讀帖子的其餘部分,以瞭解我想要的內容。PHP MVC設計問題
這是網頁控制器,其延伸的主控制器
class Home extends Controller {
function __construct() {
parent::__construct();
}
public function index() {
$this->load->model("test");
$this->test->get_all();
$data = array (
'name' => "Amr",
'age' =>24
);
$this->load->view("home_view",$data);
}
}
主控制器看起來像這樣,並延伸loader類:
class Controller extends Loader {
public $load;
function __construct(){
parent::__construct();
$this->load = new Loader();
}
}
其具有問題Loader類看起來像這樣
class Loader {
public $Error;
function __construct(){
$this->Error = new Error();
}
public function model($Modelname){
$this->$Modelname = $Modelname;
if (file_exists("models/".$Modelname.".php")){
require_once $Modelname . ".php";
$this->$Modelname = new $Modelname;
}else{
$this->Error->Not_found();
}
}
public function view($Viewname,$data=NULL){
if(is_array($data)){
extract($data);
}
if (file_exists("views/".$Viewname.".php")){
require_once $Viewname . ".php";
}else{
$this->Error->Not_found();
}
}
public function helper($helper) {
if (file_exists("helpers/".$helper.".php")){
require_once $helper . ".php";
$this->$helper = new $helper;
}else{
$this->Error->Not_found();
}
}
}
我需要做的是能夠從主頁控制ler做這樣的事情:
$this->load->model("someModel"); // model name is test
$this->someModel->someMethodInModel(); // the model method is get_all()
// and the same for helper
$this->load->helper("someHelper");
$this->someHelper->someMethodInHelper();
任何人都可以幫助我嗎?
編輯:錯誤這樣做時,我得到的是:
Notice: Undefined property: Home::$test
Fatal error: Call to a member function get_all() on a non-object
注:型號名稱是test
和模型方法是get_all()
我在帖子上做了編輯約翰,這就是我能得到,非常感謝你的時間,並希望你可以幫助我 –
請編輯問題並顯示您當前的代碼。 –
我編輯的代碼當前代碼是即時通訊使用其相同的除了兩條線添加到家庭控制器 –