php – 函数/方法参数验证标准
发布时间:2020-12-13 16:41:43 所属栏目:PHP教程 来源:网络整理
导读:我只是询问参数验证语法的标准做法.目前我正在使用 PHP,但任何被认为是平台/语言不可知解决方案的东西都将是巨大的. 截至目前,我知道两个很常见的语法.例如(我的偏好): function foo($a,$b,$c){ if(!$a){ throw new Exception(); } if($b 0){ throw new Exc
我只是询问参数验证语法的标准做法.目前我正在使用
PHP,但任何被认为是平台/语言不可知解决方案的东西都将是巨大的.
截至目前,我知道两个很常见的语法.例如(我的偏好): function foo($a,$b,$c){ if(!$a){ throw new Exception(); } if($b < 0){ throw new Exception(); } if(!check($c)){ throw new Exception(); } //do stuff with $a,and $c } 或者: function foo($a,$c){ if($a){ if($b >= 0){ if(check($c)){ //do stuff with $a,and $c }else{ throw new Exception(); } }else{ throw new Exception(); } }else{ throw new Exception(); } } 无论如何,如果有人知道说明任何类型的标准的文档,或者有关这方面的常见做法,我将非常感谢参考. 当然,欢迎个人喜好和意见,但推选您的选择将是一项资产.
我更喜欢你给出的前一个例子,原因如下:
>代码不会像使用嵌套if语句那样不必要地缩进. 通过合同设计是确保某些条件得到满足的一般方法(通常通过断言),如: Assert.IsNotNull($a,'$a must not be null'); 如果断言失败,则使用指定的消息抛出异常. 使用相同的方法,您可以在方法(post-conditions)的末尾确定断言,以确保方法按预期执行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |