我们在《入口参数检查概述》一文里面介绍了入口参数的检查方法,并且学习了使用“check”语句来实现对参数的检查。
我们已经知道对参数的检查可以通过“check”语句的链式代码来实现,例如下面的代码:
...->check($param['id'], 'require', 'ID缺失')->check($param['name'], 'regex | .{8,}', '不能少于8个字符')...
上面的代码里面对参数“id”和“name”分别进行检查,并且我们可以根据实际需要,书写更多的“check”语句来完成对参数的检查。
当我们对同一个参数有多维度检查要求时,我们可以这样写代码:
...->check($param['name'], 'require', 'name缺失')->check($param['name'], 'regex | .{8,}', '不能少于8个字符')...
上面的代码对参数“name”进行了两次检查,第一次是检查是否为空,第二次是检查是否满足正则表达式。以上写法没有任何问题,但是我们还可以有其他的写法,例如下面的代码:
...->check($param['name'], [
'require' => 'name缺失',
'regex | .{8,}' => '不能少于8个字符'
])...
观察上面的代码,我们发现,当对同一个参数进行检查时,我们可以把第二个参数和第三个参数合并到一个数组里面。
这种写法的一个优点是,可以把每个需要检查的参数分开,并进行统一的代码书写,代码阅读上会更清晰些。
当然两种方法都可以实现相同的功能,实际编程中,您可以根据您自己的喜好来选择一种写法。
这里对两种写法的介绍,是为了给您提供一个可以自由选择的空间。