В PHP, почему люди назначают другое имя переменной для данных $ _GET и $ _POST? - PullRequest
1 голос
/ 04 февраля 2012

Это вопрос стиля, я полагаю.Почему люди сталкиваются с проблемой присвоения переменной с данными $_GET и $_POST в PHP?Например, зачем делать это:

<?php
    $name = $_GET['name'];
    echo $name;
?>

, когда вы можете просто сделать это вместо этого?

<?php
    echo $_GET['name'];
?>

Ответы [ 2 ]

6 голосов
/ 04 февраля 2012

Есть несколько причин:

  1. Писать легче, особенно если включить в строку.

  2. Вам нужно только санировать ееодин раз и знайте, что всякий раз, когда вы вызываете временную переменную, это очищенная версия.

  3. (это большая) переменные $ _GET и $ _POST доступны глобально, что означает, чтонесколько функций или операторов могут зависеть от их значения.Если вам когда-либо понадобится изменить переменную (например, $ _GET ['var'] ++), может быть важно, чтобы вы не влияли на другие функции.Таким образом, безопаснее сохранить значение в рабочей переменной на случай, если переменная $ _GET или $ _POST когда-либо будет использоваться в другом месте.

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

4 голосов
/ 04 февраля 2012

Для одного легче набрать позже, если вам нужно использовать его несколько раз. Кроме того, я бы с подозрением относился к данным в переменной $ _GET / $ _ POST, но я обычно очищал бы или экранировал данные при назначении их переменной, поэтому, если вы будете следовать этому типу практики, вы знаете, что переменная безопасна для использования , Всегда фильтруйте вход и избегайте выхода.

My 2 ¢

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