2012-02-26 2 views
4

Можно создать дубликат:
What's wrong with using $_REQUEST[]?

Насколько я понимаю, PHP устанавливает $ _REQUEST как для POST и GET типы запросов. При создании спокойной api я использую PUT и DELETE. Вместо того, чтобы создавать новую переменную $ PUT или $ DELETE для ее хранения, есть ли веская причина не использовать $ _REQUEST? Я бы подумал, что с использованием того же механизма, $ _REQUEST, во всем коде будет лучше, более читабельным и понятным, чем использование 2 или 3 механизмов в зависимости от типа запроса.

Подтверждаю, что ответы, такие как «плохая практика», недействительны для меня ... почему это плохая практика?

код: parse_str($request->data, $_REQUEST);

Я прочитал Overwriting $_POST for PUT or DELETE requests но что бы перезаписать $ _POST с данными PUT, что мне было бы неправильно, как $ _POST описывает данные POST не PUT данные во имя переменной. Я также прочитал ответ там - создайте класс accessor. Но теперь у него есть 2 механизма доступа к дате пользователя, классу и $ _REQUEST.

+0

'$ _REQUEST' - ассоциативный массив, который по умолчанию содержит содержимое' $ _GET', '$ _POST' ** и **' $ _COOKIE', если только ['variable_order'] (http://php.net /manual/en/ini.core.php#ini.variables-order) изменил значение по умолчанию. Начиная с 5.3, он заполняется в ['request_order'] (http://php.net/manual/en/ini.core.php#ini.request-order). Настройки ini могут привести к '$ _REQUEST', не содержащему ожидаемого, поэтому вы должны использовать соответствующие суперглобалы. – Gordon

ответ

1

Игнорирование $_REQUEST и использование класса доступа - это правильная вещь. Просто не используйте $_REQUEST, большинство людей не будет, потому что это непоследовательный беспорядок, поскольку его значение зависит от настройки .

Смежные вопросы