Лучший способ запустить скрипт PHP условно при входе пользователя - PullRequest
1 голос
/ 26 февраля 2009

Я мог бы придираться, но лучше ли это сделать:

if ($loggedin) {
    // normal process
}
else {
    header('Location: login.php');
}

Или это:

if (!$loggedin) {
    header('Location: login.php');
    exit();
}
// normal process

Или это просто не имеет значения?

Ответы [ 5 ]

5 голосов
/ 26 февраля 2009

Я предпочитаю 2-й, потому что таким образом «нормальный процесс» уже не на 1 уровень глубины из-за простой проверки. Я думаю, что PHP, вероятно, оптимизирует это так, что производительность не имеет значения, поэтому на данный момент это вопрос читабельности, и второй имеет для меня больше смысла («Не авторизован, перенаправление, выход») над упаковкой всей вашей логики в одну IF.

5 голосов
/ 26 февраля 2009

Я предпочитаю второй стиль, поскольку "// нормальный процесс", вероятно, длинный кусок кода, поэтому последний} (из ветви else) может быть немного запутанным.

1 голос
/ 26 февраля 2009

Это действительно не имеет никакого значения. По моему личному мнению, вторая ветка легче понять, потому что вам не нужно прокручивать до конца, чтобы увидеть, что происходит, когда пользователь не вошел в систему.

0 голосов
/ 27 февраля 2009

Определенно второе. Он лучше читается и работает лучше для остальной части вашего кода.

0 голосов
/ 26 февраля 2009

Вы всегда должны использовать exit или die после перенаправления, чтобы избежать дальнейшего выполнения кода.

Но помимо этого я также предпочитаю второе, поскольку $loggedin является предварительным условием для вашего «нормального процесса».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...