用 thinkphp5.1 框架对接别人的系统,需要 40 个参数,过滤和验证、还要测试接口。怎么写比较好点。。。
|      1crazystory      2018-02-27 18:05:11 +08:00 40 个???execuse 咪?? | 
|      2killerv      2018-02-27 18:07:44 +08:00 需要那么多参数? | 
|      3keller      2018-02-27 18:09:11 +08:00 👍 | 
|  |      4chinvo      2018-02-27 18:09:47 +08:00 这接口谁设计的,拖出去打死了 | 
|  |      5SoulSleep      2018-02-27 18:17:14 +08:00  1 一个 bean validator  一个参数。。 喔。。。java 玩法,php 一定有。em ! 40 个参数,映射到一个 bean 上,继续 validator。。。。 java 玩法。。。 | 
|  |      6x86      2018-02-27 18:22:40 +08:00 40 个参数...写的啥玩意 | 
|      7MeteorCat      2018-02-27 18:38:32 +08:00 via Android 吓尿了 | 
|  |      8lauix      2018-02-27 18:43:38 +08:00  1 首先,这么多参数有点坑,不好维护,完全可以封装成 JSON 传递。 可以采用 装饰器模式进行过滤验证,具体怎么写自己百度。 | 
|  |      9mritd      2018-02-27 19:33:01 +08:00 via iPhone 啥,你再说一遍 | 
|      10HYSS      2018-02-27 19:35:40 +08:00 ```php $validatorRuleMap=[ 'name'=>'validatorName', 'nickname'=>'validatorNickname', ]; foreach ($validatorRuleMap as $rule){ //取数据 //验证 } ``` | 
|  |      11zjsxwc      2018-02-27 19:38:46 +08:00 | 
|  |      12murmur      2018-02-27 19:41:15 +08:00 40 个参数如果只是格式校验还好 涉及到业务就自求多福吧 | 
|      13hermanzhu      2018-02-27 19:53:41 +08:00 40 个参数不建议流水账 foreach 调用 validator,这么些参数肯定能根据业务线进行分类,分好类再抽象出独立的 validator,造福后人…… | 
|      14kisama12      2018-02-27 20:17:22 +08:00 via Android PHP 那么厉害的嘛……参数多于三个通常就封装起来了…… | 
|  |      15manhere      2018-02-27 20:27:39 +08:00 via Android tp 有验证器啊,看手册! | 
|  |      16abusizhishen      2018-02-27 20:59:21 +08:00 via Android 参数归类,按类验证 | 
|      17wwww961h      2018-02-27 21:05:22 +08:00 写成数组,可以用个二维的,同一类型的放在同一个二级数组里,然后循环来过滤,40 个参数真心有点多, | 
|      18dobelee      2018-02-27 21:08:33 +08:00 via Android 什麼場景需要這麼多參數?為啥不用 json ? | 
|      19Junjunya      2018-02-27 22:55:04 +08:00 好奇楼上大佬们说的为啥不用 json  ,用了 json 不还是一个 40 个值的 hashMap 么 和 php 直接 $_GET / $_POST  获取到 40 个值的数组 有啥不一样么 | 
|      24ZXCDFGTYU      2018-02-28 12:12:31 +08:00 @MaZiT 非法参数在 Request::instance()->get()/Request::instance()->post()的时候已经过滤了,验证器是验证参数完整性的。安全在调用 get()/post()的时候处理了 | 
|      25NEETLEE      2018-02-28 14:23:21 +08:00  1 thinkphp5 是有 validate 类的,你把你的校验规则按照[控制器名]=>[方法名=>[参数 1=>规则]]这样的结构写成数组存在 php 文件里,并且 rerurn 出来,然后 new 的时候需要验证的时候用 request 类可以拿到控制器名和方法名由此取到规则再传进去再验证就可以了。 这样的写法把规则和代码分离开,参数再多也不会显得乱 |