排除表单校验的情况
比如在控制器中要调一个Model的方法,那么传到这个方法里的其中一个参数,比如$city_id 其实这个$city_id即可以是int也可以是一个array
那么这个时候POST过来的的$city_id 大家一般都是在哪里校验的。
本系统使用的是XDcms内核,在原来基础上做来相应修改 前台修改调用数据,可以使用{loop catid=栏目ID}{/loop}方式调用 主要功能: A、内容管理模型,自定义字段,更方便扩展功能。自带模型:单页模型、新闻模型、产品模型、招聘模型 B、栏目自定义,便于内容管理 C、内容模块化,二次开发更便捷。自带模块:幻灯片、QQ客服、友情链接、自定义表单(在线留言、简历管理) D、模板管理,后台
如果是model校验,感觉多调了一次模型,不好
但是如果在控制器校验,但是我觉得模型还是最好校验一次,以防其他人调用我自己方法的时候也没在控制器校验就直接查数据了。但是这样的话控制器和模型就对数据做了2次同样的校验
所以问下大家,在平时的编码过程中大部分情况下是怎样处理的?
回复内容:
排除表单校验的情况
比如在控制器中要调一个Model的方法,那么传到这个方法里的其中一个参数,比如$city_id 其实这个$city_id即可以是int也可以是一个array
那么这个时候POST过来的的$city_id 大家一般都是在哪里校验的。
如果是model校验,感觉多调了一次模型,不好
但是如果在控制器校验,但是我觉得模型还是最好校验一次,以防其他人调用我自己方法的时候也没在控制器校验就直接查数据了。但是这样的话控制器和模型就对数据做了2次同样的校验
所以问下大家,在平时的编码过程中大部分情况下是怎样处理的?
我一般都是在进行数据库读写信息之前进行过滤的。如下:
user_model
public function get_user_name($uid) {
$uid = intval($uid); //校验
if(!$uid) {
return FALSE;
}esle{
.... //数据库查询操作
}
}
controller
public function user() {
$uid = $_GET['id];
if(!M('user_model')->get_user_name($uid)){
return FALSE;
}
//后续操作
}
框架的话有自带的过滤方法,pdo的的机制也挺高的;
那就都校验,哈哈,反正数据库操作之前是必须校验的~
仔细想了想,还是模型里面过滤更合理








