@S-a-n-d-r-0

Есть ли смысл передавать $_POST в качестве параметра?

Имеет ли смысл делать так:
function process($request_data)
{

}

process($_POST);

Или лучше использовать $_POST сразу в функции process, если он все равно суперглобальный?
  • Вопрос задан
  • 119 просмотров
Решения вопроса 4
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Использование глобальных переменных в функциях вообще плохая практика, надо стараться сохранять принципы чистоты функций, что исключает использование внутри них глобальных переменных.
Ответ написан
Комментировать
mad_maximus
@mad_maximus
Все данные лучше передавать снаружи, а $_POST, $_GET, $_FILES не использовать вообще. Вернее, использовать правильно. У вас одна точка входа - в ней и инициализируйте специальный класс, который работает с этими массивами, и передавайте его дальше в код. Это избавит вас от обращения к глобальным массивам и точно ограничит контекст данными, которые вы можете использовать в текущем запросе.
Ответ написан
Комментировать
Имеет. Вдруг вы потом захотите использовать другой метод запроса? Если будете использовать $_POST в теле функции, то при изменении метода запроса код придётся переписать
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
Лучше вообще не использовать $_POST, для безопасного получения пользовательских данных есть функция filter_input
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы