| |
|
|
| | Имею в виду много опереторов выбора if. В своих скриптах их насчитывается около 10-15... Не знаю как
это сказывается на общей работе, но читаемость уменьшается. Не у кого таково не бывает? | |
| |
|
|
| |
|
|
| |
для: NIK
(22.12.2006 в 22:06)
| | | По мойму всё впорядке..if правит миром..ну можно группировать условия .. штоб if меньше было | |
| |
|
|
| |
|
|
| |
для: NIK
(22.12.2006 в 22:06)
| | | Если 10-15 - общее число - это нормально.
Если 10-15 - глубина вложенности - впору кричать караул. | |
| |
|
|
| |
|
|
| |
для: NIK
(22.12.2006 в 22:06)
| | | Это степень вложенности (более 3-4 считается уже плохим тоном - можно обойтись без такой степени вложенности) или просто количество операторов if? | |
| |
|
|
| |
|
|
| |
для: cheops
(23.12.2006 в 12:57)
| | | приведу такой код
<?php
$form_referer = "http://".$site_url."registration/";
if (empty($_POST['action'])) {
// форма
} else {
// проверка на sid и реферер
if ($sid != session_id() OR $_SERVER['HTTP_REFERER'] != $form_referer) {
// вывод ошибки
} else {
// выборка из БД
$query_sel = mysql_query("SELECT * from users WHERE nick LIKE '$nick' OR
nick LIKE '$eng_nick' OR
nick LIKE '$rus_nick' OR
email = '$email'");
if (!$query_sel) {
// если ошибка при выборке
} else {
if (mysql_num_rows($query_sel) != 1) {
// если запрос вернул не одну строку - ошибка
} else {
// проверка на заполение форм
if (empty($nick)) $errors = $errors."<li style='margin-left: 15px;'> error";
if (!empty($errors)) {
// если допущены ошибки - выводим их
} else {
// если нет, добавляем запись в БД
if ($query_add) {
// если запрос не вернул ошибку, вызываем функцию для отправки письма ...
if (!empty($email_errors)) {
// если при отправке письма возникли ошибки - выводим их
} else {
// выводим сообщение что всё ок
}
} else {
// это ошибка при запросе к БД
}
}
}
}
}
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: NIK
(23.12.2006 в 13:34)
| | | Обычно конструкцию "разворачивают", например, конструкцию
<?php
if (empty($_POST['action'])) {
// форма
} else {
// обработчик
}
?>
|
можно преобразовать следующим образом
<?php
if (!empty($_POST['action'])) {
// обработчик
exit();
}
// форма
?>
|
Тоже самое с
<?php
if (!$query_sel) {
// если ошибка при выборке
} else {
// дальнейшие действия
}
?>
|
можно заменить на
<?php
if (!$query_sel) {
// если ошибка при выборке
exit();
}
// дальнейшие действия
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(23.12.2006 в 14:07)
| | | понятно. Я так понял что кроме плохой читаемости и "плохого тона" это ничем не грозит, верно? | |
| |
|
|
| |
|
|
| |
для: NIK
(23.12.2006 в 15:44)
| | | Теоретически нет, но на практике в таком коде возникает больше ошибок и его сложнее сопровождать. | |
| |
|
|