ワードプレスのソースコード(PHP)を勉強しているときにこのコードを見たところ、すべてのget値とpost値を1つのリクエスト配列にマージ/変換していることがわかります。
私が知っているように、$_GETと$_POSTは、array_merge()関数を使用せずに$ _REQUESTを呼び出すことですでに使用可能になっているので、なぜこれを行うのか考えてみてください。
$_REQUEST = array_merge($_GET, $_POST);
ワードプレスのソースコード(PHP)を勉強しているときにこのコードを見たところ、すべてのget値とpost値を1つのリクエスト配列にマージ/変換していることがわかります。
私が知っているように、$_GETと$_POSTは、array_merge()関数を使用せずに$ _REQUESTを呼び出すことですでに使用可能になっているので、なぜこれを行うのか考えてみてください。
$_REQUEST = array_merge($_GET, $_POST);
これは、デフォルトが, AND$_REQUEST
のマージであるためです。また、これらのスーパーグローバルの変数がマージされる順序はini 設定に依存し、PHP 5.3.0 の時点では、 . したがって、開発者が ini 設定にアクセスできない場合 (たとえば、共有ホスト上で) 、開発者は と のみで構成され、その特定の順序でマージされることを確認したかったと思います。ご覧のとおり、スクリプトごとに構成することはできません。$_GET
$_POST
$_COOKIE
$_REQUEST
variables_order
request_order
$_REQUEST
$_GET
$_POST
variables_order
request_order
HTH
$_REQUEST
$_GET
デフォルトでは、、、$_POST
および$_COOKIE
配列の内容が含まれます。通常、その目的には使用されないため、COOKIE変数を除外したい場合があります。
これは、同じ名前のGET変数とPOST変数がある場合、GET変数よりもPOST変数を選択するためです。
また、$_REQUEST変数にCookieを入れたくない場合もあります。
なぜそれが見た場所で行われたのか具体的にはわかりませんが、ある配列または別の配列の値に対して何らかの処理が行われ、それらの変更を$ _REQUESTにマージして、誰もが$ _REQUESTを使用すると、$_POSTまたは$_GET変数に対して行われた場合でも、変更が取得されます。
これは、プラグイン開発者がこれらの変数のいずれかを使用してデータにアクセスする可能性があり、Wordpressコアがすべて同じデータを取得することを確認する必要があるため、Wordpressのような状況で発生します。
$ _REQUESTに直接やりたくないのはなぜですか?$ _REQUESTには、$_POSTと$_GETにはない大量の追加情報が含まれているためです。これらすべての余分なビットに処理を適用したくない場合があります。