2013-07-31 2 views
0

PHP에서 enum을 사용하는 다른 방법이 있습니까? C#에서는 emum을 반환하는 메서드가 있기 때문에 묻습니다.하지만 PHP에서는 비슷한 것이 없습니다. 여기에 가상의 방법에서 몇 가지 가능한 반환 형식은 다음과 같습니다PHP에서 사용하는 다른 방법

function login() 
{ 
    // logged in 
    // log in failed verify account 
    // log in failed account suspended 
    // log in failed account banned 
} 

PHP에서 이런 일을 할 수있는 가장 좋은 방법은 무엇입니까?

+1

가장 가까운 것이 상수가 될 것이라고 조언 할 수 있습니다. 클래스 또는 전역 범위에 정의 할 수 있습니다 – Moylin

+0

XY 문제? 'enum'을 무시하고 무엇을하려고합니까? –

+0

가능한 복제본 : http://stackoverflow.com/questions/254514/php-and-enums?rq=1 –

답변

2

사용할 수있는 계정 상태를 사용하도록 변경 될 수 클래스 :

class LoginStatus 
{ 
    const FailVerifyAccount = 0; 
    const FailAccountSuspended = 1; 
    const FailAccoutBanned = 2; 
} 

// how to use 
$status = LoginStatus::FailVerifyAccount; 

if ($status == LoginStatus::FailVerifyAccount) echo "Verify account"; 

또는 사용하여 상수 정의 :

define("LOGIN_STATUS_VERIFY_ACCOUNT", 0); 
define("LOGIN_STATUS_ACCOUNT_SUSPENDED", 1); 
define("LOGIN_STATUS_ACCOUNT_BANNED", 2); 

// how to use 
$status = LOGIN_STATUS_VERIFY_ACCOUNT; 

if ($status == LOGIN_STATUS_VERIFY_ACCOUNT) echo "Verify account"; 
관련 문제