samedi 18 avril 2015

How to avoid nested if-else statements

When developing API methods to return JSON with details I often find myself creating the following code:



$response = array('success' => false);

$user = User::getSessionUser();
if($user->id > 0){
if(ItemSKU::stringIsValid($sku)){

$itemSKU = ItemSKU::getFromString($sku);
if($itemSKU->isAvailable()){
if(Carts::add($user->id, $sku)){
$response['success'] = true;
}
else{
$response['error'] = "Item was already added";
}
}
else{
$response['error'] = "Unavailable Item";
}
}
else{
$response['error'] = "Invalid SKU";
}
}
else{
$response['error'] = "Invalid User";
}

return response()->json($response);


How can I avoid using this nested if-else chain? Thanks!


Aucun commentaire:

Enregistrer un commentaire