Различие между (функция () {}) (); и функция () {} (); [дубликат]

На мой взгляд, лучший способ вообще запретить SQL-инъекцию в вашем PHP-приложении (или любом веб-приложении, если на то пошло) - это думать о архитектуре вашего приложения. Если единственный способ защитить от SQL-инъекции - не забудьте использовать специальный метод или функцию, которая делает The Right Thing каждый раз, когда вы разговариваете с базой данных, вы делаете это неправильно. Таким образом, это просто вопрос времени, пока вы не забудете правильно отформатировать свой запрос в какой-то момент вашего кода.

Принятие шаблона MVC и структуры, такой как CakePHP или CodeIgniter - это, вероятно, правильный путь: общие задачи, такие как создание безопасных запросов к базе данных, были решены и централизованно реализованы в таких рамках. Они помогают организовать ваше веб-приложение разумным образом и заставляют вас больше думать о загрузке и сохранении объектов, а не о безопасном построении отдельных SQL-запросов.

36
задан Community 23 May 2017 в 12:26
поделиться

3 ответа

Peter Michaux обсуждает различие в Важная Пара Parens.

В основном круглые скобки являются соглашением обозначить, что сразу вызванное выражение function следует, не простая функция. Особенно, если тело функции долго, это уменьшает неожиданности,

44
ответ дан 2 revs, 2 users 50% 27 November 2019 в 05:59
поделиться

Дополнительный набор круглых скобок делает его более ясным, что Вы создаете функцию и затем называете ее. Это - вещь стиля кодирования, не вещь функциональности.

9
ответ дан Henk 27 November 2019 в 05:59
поделиться
function(){}();

не работает в большинстве браузеров. Необходимо использовать круглую скобку вокруг функции для выполнения его

(function(){})();

тогда, браузер будет знать, что последняя круглая скобка должна быть применена ко всему выражению

function(){}

UPD : Если Вы не используете круглую скобку, brower мог бы неправильно понять Вас. Если Вы просто вызываете функцию и отклоняете результат

function() {
    alert(1);
}();

тогда и следующие и т.е. бросите ошибку

4
ответ дан x-yuri 27 November 2019 в 05:59
поделиться