首页 > 后端开发 > php教程 > 调用模型前数据校验在哪里做

调用模型前数据校验在哪里做

WBOY
发布: 2016-06-06 20:08:12
原创
1003 人浏览过

排除表单校验的情况

比如在控制器中要调一个Model的方法,那么传到这个方法里的其中一个参数,比如$city_id 其实这个$city_id即可以是int也可以是一个array

那么这个时候POST过来的的$city_id 大家一般都是在哪里校验的。

  1. 如果是model校验,感觉多调了一次模型,不好

  2. 但是如果在控制器校验,但是我觉得模型还是最好校验一次,以防其他人调用我自己方法的时候也没在控制器校验就直接查数据了。但是这样的话控制器和模型就对数据做了2次同样的校验

所以问下大家,在平时的编码过程中大部分情况下是怎样处理的?

回复内容:

排除表单校验的情况

比如在控制器中要调一个Model的方法,那么传到这个方法里的其中一个参数,比如$city_id 其实这个$city_id即可以是int也可以是一个array

那么这个时候POST过来的的$city_id 大家一般都是在哪里校验的。

  1. 如果是model校验,感觉多调了一次模型,不好

  2. 但是如果在控制器校验,但是我觉得模型还是最好校验一次,以防其他人调用我自己方法的时候也没在控制器校验就直接查数据了。但是这样的话控制器和模型就对数据做了2次同样的校验

所以问下大家,在平时的编码过程中大部分情况下是怎样处理的?

我一般都是在进行数据库读写信息之前进行过滤的。如下:

<code>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;
    }
    //后续操作
}</code>
登录后复制

框架的话有自带的过滤方法,pdo的的机制也挺高的;

那就都校验,哈哈,反正数据库操作之前是必须校验的~

仔细想了想,还是模型里面过滤更合理

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板