我不使用一種現成的,現成的框架,沒有特別想(也不d我想進入的原因......)。總之,在我的問題上,我希望它是有意義....PHP MVC原則
我試圖讓我的頭圍繞什麼,應該在模型中,哪些應該在控制器中去。最初我有這樣的印象,模型類應該代表一個實際的對象(例如 - 從汽車數據庫表中的汽車),模型屬性應該反映數據庫字段。然而,我現在感覺我有一個錯誤的想法 - 模型類的實例應該代表一個實際的物品,還是應該包含許多用於實現物品的方法 - 有時用於一輛汽車,有時用於多輛汽車基於我之前的例子。
比如我想從數據庫中獲取所有的車,並告訴他們在視圖中。我是否認爲它應該符合這一點?
控制器的文件
function list() {
$cars = $this->model->get_all();
$this->view->add($cars);
$this->view->render('cars-list');
}
模型文件
function get_all() {
// Use a database interaction class that I've written
$cars = Database::select();
return $cars;
}
現在,如果車上有這樣的被存儲在數據庫中的整數的「狀態」欄,我想將其改爲字符串,應該在哪裏完成?通過在模型中的get_all()方法中循環SQL結果數組?
另外,應該在哪裏進行驗證生活?我寫了一個有效的驗證類:
$validator = new Validator();
$validator->check('field_name', 'required');
如果檢查失敗,它會向驗證器中的數組添加錯誤消息。這個錯誤消息數組然後會傳遞給視圖。應該使用我的驗證器類進入模型還是控制器?
預先感謝任何幫助任何人都可以提供。如果您知道任何指向處理基本CRUD的簡單MVC示例/開放源碼應用程序的鏈接,他們將非常感激。
如果你不想使用'現成的框架',爲什麼這被標記爲codeigniter? – Flukey
在CI中,表單驗證通常在您的控制器中完成。這對我來說很合理,因爲你的控制器應該處理表單輸入,POST,GET等。 – MikeMurko