对于一些逻辑操作是放在控制器还是放在视图里?
模型: function getRow($id=0) {$sql = "SELECT * FROM tbl_down WHERE aid=" . intval($id);
$query = $this->db->query($sql);
return $query->row_array();
}
控制器: function view() {
$id = $this->uri->segment(3);
$this->load->model('Down_model');
$data['row'] = $this->Down_model->getRow($id);
$this->load->view('down_view', $data);
}
视图:
<h1><?php echo $row['title']?></h1>
下载地址:<?php echo $row['uploadfile'];?>
正常访问的时候没有什么问题人.但参数id的值如何修改为一个不存在的值的话,就无法正常显示了.因为视图里用的是$row这个数组.但在控制器里取出来的为空.所以提示出错误信息:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: uploadfile
Filename: views/down_view.php
Line Number: 3
不知道一些逻辑检查的代码是放在控制器里好还是视图里好.如果放在控制器里可能需要进行一些在不存在信息的情况下,构建一个空数组,才可以保存页面的正常显示.而放在视图里则比较的方面.但也有说视图里不能放逻辑代码. 视图里可以放逻辑代码,只是比较少而已。 放在控制器好些。
控制器的目的就是协调数据与显示之间的逻辑,取不到数据时应该在控制器里做一些判断或跳转。 看具体需求了
如果需求是为空就给个提示“我是空的”
该逻辑建议放在view
如果是为空则跳转
则放在控制器比较好
页:
[1]