L'utilisateur 2 vous propose d'acheter un article de Utilisateur 1. L'utilisateur 1 peut accepter ou rejeter. Si utilisateur 1accepte, alors ils seront tous les deux en mesure d'offrir des commentaires sur la transaction.Lequel de ces deux blocs IF est le meilleur codage?
J'ai 2 blocs d'instructions IF. Ils travaillent tous les deux et font la même chose mais quelle est la meilleure pratique de codage?
SI BLOC 1 vérifie si quel utilisateur est-il d'abord, puis vérifie si la transaction a été acceptée ou si son toujours en attente
if ($_SESSION['user_id'] == $seller) {
if ($row['status'] == 'P') {
echo '<p>' . get_username_by_id($row['buyer']) . ' has made a bid of ' . $row['price'] . ' for your ' . $row['title'] . '
<a href="transactions.php?id=' . $transactionid . '&action=accept">Accept</a>/<a href="transactions.php?id=' . $transactionid . '&action=reject">Reject</a><br />';
} else if ($row['status'] == 'A') {
echo '<p>' . get_username_by_id($row['buyer']) . ' paid ' . $row['price'] . ' for your ' . $row['title'] . '</p>';
echo '<a href="feedback.php?id=' . $transactionid . '&action=givefeedback">Give Feedback</a></p>';
}
} else if ($_SESSION['user_id'] == $buyer) {
if ($row['status'] == 'P') {
echo '<p> You have made a bid of ' . $row['price'] . ' for ' . $row['title'] . '</p>';
} else if ($row['status'] == 'A') {
echo '<p> You have paid ' . $row['price'] . ' for ' . $row['title'] . '</p>';
echo '<a href="feedback.php?id=' . $transactionid . '&action=givefeedback">Give Feedback</a></p>';
}
}
Ou
IF BLOC 2 a seulement 4 instructions if et vérifie à la fois l'utilisateur et le statut de la transaction en même temps
if ($_SESSION['user_id'] == $seller && $row['status'] == 'P') {
echo '<p>' . get_username_by_id($row['buyer']) . ' has made a bid of ' . $row['price'] . ' for your ' . $row['title'] . '
<a href="transactions.php?id=' . $transactionid . '&action=accept">Accept</a>/<a href="transactions.php?id=' . $transactionid . '&action=reject">Reject</a><br />';
} else if ($_SESSION['user_id'] == $buyer && $row['status'] == 'P') {
echo '<p> You have made a bid of ' . $row['price'] . ' for ' . $row['title'] . '</p>';
} else if ($_SESSION['user_id'] == $seller && $row['status'] == 'A') {
echo '<p>' . get_username_by_id($row['buyer']) . ' paid ' . $row['price'] . ' for your ' . $row['title'] . '</p>';
echo '<a href="feedback.php?id=' . $transactionid . '&action=givefeedback">Give Feedback</a></p>';
} else if ($_SESSION['user_id'] == $buyer && $row['status'] == 'A') {
echo '<p> You have paid ' . $row['price'] . ' for ' . $row['title'] . '</p>';
echo '<a href="feedback.php?id=' . $transactionid . '&action=givefeedback">Give Feedback</a></p>';
}
double possible de [Nested par rapport aux conditions composites] (http://stackoverflow.com/questions/3378629/nested-versus-composite-conditions) – Gordon
Je m'intéresserais beaucoup plus au mishmash laid de la concaténation HTML et de la logique de flux de contrôle PHP. – Gordon
@Gordon merci pour le lien – Jonathan