如何简化PHP中的检查/验证逻辑?

时间:2011-05-01 03:46:36

标签: php validation error-handling

以下是基于电子邮件,会话密钥和消息编写内容的示例代码。 我在错误处理中使用了大部分代码,如下所示:

首先,我需要检查null,然后,长度,会话,与db的连接,最后,实际结果.... ....这是非常无视的,代码变得很长,我怎么能模拟这个?谢谢。

if(checkNullExisit($aEmail, $aSessionKey, $aMessage)){    
    //Null params detect
    return;
}  

if(strlen($aEmail) > MAX_EMAIL || strlen($aSessionKey) > MAX_SESSIONKEY ||  strlen($aMessage) > MAX_MESSAGE){
    //Too long
    return;
}      

 if(isSessionValid($aEmail, $aSessionKey)){                   
    if(connectDatabase()){ 

        if(DBManagerSingleton::saveMessage($aEmail, $aSessionKey, $aMessage, NULL)){
            //The ONLY Success Case
            return;
        }else{
            //Can't write in DB
            return;
        }

    }else{
       //DB Cannot Connect   
       return;
    }

 }else{
      //Invalid Session     
      return;
 }

2 个答案:

答案 0 :(得分:0)

如果您想缩短验证和数据库连接,我认为您有两种主要方法可以解决这个问题。

  • 程序:为这些东西编写函数。例如。你可以拥有一个valid_email()函数。
  • OOP:使用OOP创建您需要的类,例如表格验证类

答案 1 :(得分:0)

I feel your pain,验证是PITAusing a frameworkRespectPhorms这样的独立库可能会减轻您的痛苦...