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