我正在codeigniter中编写一个登录方法,用户将在其中输入电子邮件和密码,然后它将执行以下操作:
我知道我可以通过使用纯嵌套if ... else条件来实现上述目的,但是这将非常繁琐且难以阅读。因此,我以这种方式尝试过-
// Empty array to hold processing errors $processing_errors = array(); // Check for valid input if(!$is_valid_input) array_push($processing_errors, "Invalid inputs"); // Get user details if($get_user_details) { // Verify the user if(!$is_correct_user) array_push($processing_errors, "Incorrect username or password."); } else array_push($processing_errors, "Database query error"); // Check if processing errors is empty if(empty($processing_errors)) echo "Successfully logged in."; // Success else foreach($processing_errors as $errors) echo $errors; // Errors
但是上述方法的问题是,即使返回[false],它仍然会在
Check for valid input
之后执行代码,并且会花费不必要的处理时间。
编写干净整洁的可读代码的最佳方法是什么?
我正在codeigniter中编写一个登录方法,用户将在其中输入电子邮件和密码,然后它将执行以下操作:验证用户输入->如果有效,请执行第2点,从数据库中获取用户详细信息-> ...
您可以将这些方法分解为仅公开登录请求方法的方法,并将其他所有内容保持内部(如private
方法中所示),如下所示。 userLogin
是请求的来源。
Snippet: