2010-05-01 90 views
1

我有以下代码if语句OOP

/* Errors exist, have user correct them */ 
    if($form->num_errors > 0) 
    { 
    return 1; //Errors with form 
    } 
    /* No errors, add the new account to the */ 
    else if($database->addLeagueInformation($subname, $subformat, $subgame, $subseason, $subwindow, $subadmin, $subchampion, $subtype)) 
    { 
     return 0; //New user added succesfully 
    } 
    else 
    { 
    return 2; //Registration attempt failed 
    } 

我想给它添加

$databases->addLeagueTable($name) 

这应该在同一时间发生addLeagueInformation以下。 任何想法?

编辑,这项工作?

else if($database->addLeagueInformation($subname, $subformat, $subgame, $subseason, $subwindow, $subadmin, $subchampion, $subtype) 
              && $databases->addLeagueTable($name) && $_SESSION['players'] == $subplayers && $comp_name =  
              "$format_$game_$name_$season" && $_SESSION['comp_name'] = $comp_name) 

回答

1

你应该真的保持与缩进一致,它使代码更容易阅读。

总之:

// Errors exist, have user correct them 
if ($form->num_errors > 0) 
{ 
    return 1; // Errors with form 
} 
// No errors, add the new account to the 
else if ($database->addLeagueInformation($subname, $subformat, $subgame, $subseason, $subwindow, $subadmin, $subchampion, $subtype) 
    && $databases->addLeagueTable($name)) 
{ 
    return 0; // New user added succesfully 
} 
else 
{ 
    return 2; // Registration attempt failed 
} 
+0

难道我还加&& $ _SESSION [ '玩家'] == $ subplayers ??? – sark9012 2010-05-01 02:55:58

+0

我不认为这是理想的。如果第一个条件成功(即:addLeagueInformation正确插入数据),但addLeagueTable失败,则最终的数据不一致。您可能想要在交易中包装每个交易并评估交易结果,而不是评估两个单独的交易。 – 2010-05-01 02:58:00

+0

因此,如果进一步的if语句,去其他地方呢?我已编辑我的问题 – sark9012 2010-05-01 03:02:29