验证程序流程

时间:2012-08-07 03:47:13

标签: php validation flow

撰写'validation code'时,最好的方法是什么?像这样:

if(!condition1) {
  print('error');
  return false;
}

if(!condition2) {
  print('error');
  return false;
}

do_something();
return true;

或者像这样:

if(condition1) {
  do_something();

  if(condition2) {
    return true;
  } else {
    print('error');
    return false;
} else {
    print('error');
    return false;
}

第一种方式对我来说似乎更干净,但我不确定是否有advantage / disadvantage使用一种方法而不是另一种方法。

2 个答案:

答案 0 :(得分:1)

你的第二个函数与第一个函数的作用不同,因为即使condition2为false,它也会运行do_something()

无论如何,我更愿意结合我的条件,两个例子:

if(!condition1 || !condition2) {
  print('error');
  return false;
} else {
  do_something();
  return true;
}

假设您需要不同的错误消息:

if(!condition1) {
  print('error1');
  return false;
} elseif(!condition2) {
  print('error2');
  return false;
} else {
  do_something();
  return true;
}

我在if/elseif链中加入了他们。它使你的意图清晰。

答案 1 :(得分:0)

这会更干净

$str="";
if(!$condition1){
  $str .="- Error! condition 1 is required.<br>";
}

if(!$condition2){
  $str .="- Error! condition 2 is required.<br>";
}

if(trim($str)!=""){
 print("Error occurred -<br>".$str);
 return false;
}else{
 return true;
}

HOpe这有帮助