對不起,如果這已經被回答,我是PHP的OOP的新手。我正在嘗試構建一個用於教育和測試目的的mvc,並增加我對它的瞭解。我被困在一個點上,無法弄清楚。我相信這是一個簡單的解決方案,但我不知道正確的術語/單詞是什麼來查找它。php包括沒有使用靜態函數的類
如果答案已經存在,請讓我知道。
這裏就是我想要做:
class Load {
public function __construct(){
}
public function model($file_name){
include($file_name.'.php');
}
}
class Home_model extends M_F_Model{
function __construct() {
parent::__construct();
}
public static function test_this_model($var){
$result = $var.'+2';
return $result;
}
}
class M_F_Controller {
public $load;
public function __construct(){
$this->load = new Load();
}
}
class Home extends M_F_Controller{
function __construct(){
parent::__construct();
$this->load->model('home_model');
}
function index($var){
$result = Home_model::test_this_model($var);
return $result;
}
}
我想轉Home_model::test_this_model();
成$this->home_model->test_this_model();
無需申報home_model
實例中Home
類每類我可能要在包括未來,並避免使用靜態函數。
在此先感謝,讓我知道你是否需要任何進一步的信息。
這是一種可能性。謝謝你的答案。我試圖保持它爲$ this-> load-> model('filename here');並仍然能夠做$ this-> home_model-> func();但如果這不可能,那麼這種方式是有效的。我剛剛開始學習前幾天..我試圖模仿CodeIgniter沒有直接複製.. – 2012-08-14 01:03:59
上次我檢查CI是開源的。它不會傷害到峯值:) – 2012-08-14 02:01:16
@LoganSerman,CodeIgiter的*開放性實際上是相當可疑的,因爲它主要由EllisLab控制。 – 2012-08-14 02:06:59