我是 MVC 的新手(使用 codeIgniter 作为我的例子),我已经阅读了 MVC 胖模型和瘦控制器 3 次,我得到了什么:
- 模型在控制器调用模型并传递要由视图呈现的数据时进行艰苦的工作
但我有一个困惑,例如我有一个管理页面会删除数据库中的产品数据,我会有这个代码(使用 codeIgniter):
public function deleteProduct($id = '')
{
if( is_digit($id))
{
$this->load->model('productModel');
$this->productModel->deleteById($id);
//oops product has images in another DB table and in server, so i need to delete it
$success = $this->_deleteProductImages($id);
}
else
{
//redirect because of invalid param
}
//if success TRUE then load the view and display success
//else load the view and display error
}
protected function _deleteProductImages($productId)
{
$this->load->model('productModel');
//return array of images path
$imgs = $this->productModel->getImagesPath($productId);
// after i got the imgs data, then delete the image in DB that references to the $productId
$this->productModel->deleteImage($productId);
foreach($imgs as $imgPath)
{
if(file_exists $imgPath) unlink($imgPath);
}
}
我的问题是:
在瘦控制器和胖模型的概念中,我应该将方法移动_deleteProductImages($id)
到我的 productModel 还是应该这样保留它?如果您有其他更好的方法,请在此处指导我