Почему Вы объединили бы $ _GET и $ _POST в PHP?

Вы могли попробовать variableName[/regular expression/]. Это - вывод в качестве примера от irb:

irb(main):003:0> names = "erik kalle johan anders erik kalle johan anders"
=> "erik kalle johan anders erik kalle johan anders"
irb(main):004:0> names[/kalle/]
=> "kalle"
9
задан JasonDavis 14 September 2009 в 00:08
поделиться

4 ответа

Это потому, что по умолчанию $ _ REQUEST представляет собой слияние $ _ GET , $ _ POST И $ _ COOKIE . Кроме того, порядок, в котором переменные этих суперглобальных переменных объединяются в $ _ REQUEST , зависит от настройки ini variables_order , а с PHP 5.3.0 также может зависеть от request_order . Я предполагаю, что разработчик хотел убедиться, что $ _ REQUEST состоит только из $ _ GET и $ _ POST , объединенных в этом конкретном порядке, если он этого не сделал. у меня нет доступа к настройкам ini (например, на общем хосте). Видите ли, variables_order и request_order не настраиваются для отдельных сценариев.

HTH

18
ответ дан 4 December 2019 в 08:01
поделиться

$ _ REQUEST по умолчанию содержит содержимое массивов $ _ GET , $ _ POST и $ _ COOKIE . Может быть, они хотят исключить из него переменные COOKIE, поскольку он обычно не используется для этой цели.

6
ответ дан 4 December 2019 в 08:01
поделиться

Это так, если у вас есть переменная GET и переменная POST с тем же именем, она выберет переменную POST вместо переменной GET.

Также вы можете не захотеть файлы cookie в переменная $ _REQUEST.

2
ответ дан 4 December 2019 в 08:01
поделиться

Я не знаю конкретно, почему это было сделано там, где вы это видели, но я видел это раньше, когда производилась некоторая обработка значений в том или ином массиве, и вы хотите объедините эти изменения обратно в $ _REQUEST, чтобы любой, кто использует $ _REQUEST, получил изменения, даже если они были внесены в переменные $ _POST или $ _GET.

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

Почему бы вам не сделать это напрямую с $ _REQUEST? Потому что $ _REQUEST содержит массу дополнительной информации, которой нет в $ _POST и $ _GET. Возможно, вы не захотите применять свою обработку ко всем этим дополнительным битам.

1
ответ дан 4 December 2019 в 08:01
поделиться
Другие вопросы по тегам:

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