私は機能を持っています:
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;
}
2 つの異なる戻り値があります。1 つはエラー コードで、もう 1 つはオブジェクトです。私は通常、この種のプログラミングに異議を唱えます。通常、結果のコードとコンテキストを別の安全に型付けされたクラスにカプセル化します...まだこれを行うかもしれませんが、これが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 と Programmers のどちらに適しているかどうかもわかりませんでした...