我有一个功能:
public static function loginUser($username, $password)
{
...
//if no record was found where the username was matched
//then we fail the login request
if(!isset($record)) return Login::FAILURE_INCORRECT_USERNAME_OR_PASSWORD;
...
//create a new user token object
$userToken = new UserToken();
...
//give the token back to the caller
return $userToken;
}
有两个不同的返回值;一个是错误代码,另一个是对象。我通常会反对这种类型的编程。通常我会将结果代码和上下文封装到另一个安全类型的类中......我可能还会这样做,但我很想知道这在 PHP 中是否合理或常见。
这是我处理呼叫的方式:
public static function handleLoginRequest($request)
{
$result = new LoginResult();
$token = Login::loginUser($request->Username, $request->Password);
if($token === Login::FAILURE_INCORRECT_USERNAME_OR_PASSWORD)
{
$result->FailureReason = $token;
$result->Successful = False;
return $result;
}
//give the token back in the result
$result->UserToken = $token;
$result->Successful = True;
//return the result
return $result;
}
我也不确定这是否更适合 StackOverflow 或程序员......