2009-03-19 2 views
1

아래에 작은 코드 조각이 있는데 모범 사례/코드 유지 관리와 관련하여 어떤 유형의 변경을해야하는지 궁금합니다.모범 사례/유지 관리를 위해 제 코드에서 변경하려는 사항은 무엇입니까?

function _setAccountStatus($Username, $AccountStatus) 
{ 
if ($Username == '' || ($AccountStatus != 'Active' || $AccountStatus != 'Banned' || $AccountStatus != 'Suspended')) { 
    // TODO: throw error here. 
} 

$c1 = new Criteria(); 

$c1->add(UsersPeer::USERNAME,$Username); 

$rs = UsersPeer::doSelect($c1); 

if (count($rs) > 0) { 
    $UserRow = array_pop($rs); 

    $UserRow->setAccountStatus($AccountStatus); 

    try { 
     $UserRow->save(); 
    } catch (PropelException $e) { 
     return false; 
    } 

    return true; 
} 

return false; 
} 

답변

2

나는 당신의 if 문 대신 $ 이름의 empty() == ''를 사용합니다. 나는 전에 propel을 사용하지 않았지만, 나는이 메소드를 별도의 객체에 의해 수행 된 사용자 객체의 페치 및 저장과 함께 내 User 객체 자체에 두는 것을 선호한다. 의사 코드는 다음과 같습니다.

$ user = userManager-> getUser ($ username); $ user-> setAccountStatus ($ accountStatus); $ userManager-> saveUser ($ user);

0

마지막으로 false를 반환하기 전에 else 절을 ​​사용하면 코드를 읽기 쉽도록 미리 정의 할 수 있습니다.

관련 문제