Domanda

Ho appena visto questo codice mentre studiavo il codice sorgente di wordpress (PHP), puoi vedere che uniscono / trasformano tutti i valori get e post in 1 array di richieste.

Ora, per quanto ne so, $ _GET e $ _POST sono già disponibili chiamando $ _REQUEST SENZA utilizzando la funzione array_merge (), quindi qualche idea sul perché lo farebbero?

Ho appena visto questo codice mentre studiavo il codice sorgente di wordpress (PHP), puoi vedere che uniscono / trasformano tutti i valori get e post in 1 array di richieste.

Ora, per quanto ne so, $ _GET e $ _POST sono già disponibili chiamando $ _REQUEST SENZA utilizzando la funzione array_merge (), quindi qualche idea sul perché lo farebbero?

<*>REQUEST = array_merge(

Ho appena visto questo codice mentre studiavo il codice sorgente di wordpress (PHP), puoi vedere che uniscono / trasformano tutti i valori get e post in 1 array di richieste.

Ora, per quanto ne so, $ _GET e $ _POST sono già disponibili chiamando $ _REQUEST SENZA utilizzando la funzione array_merge (), quindi qualche idea sul perché lo farebbero?

<*>GET,

Ho appena visto questo codice mentre studiavo il codice sorgente di wordpress (PHP), puoi vedere che uniscono / trasformano tutti i valori get e post in 1 array di richieste.

Ora, per quanto ne so, $ _GET e $ _POST sono già disponibili chiamando $ _REQUEST SENZA utilizzando la funzione array_merge (), quindi qualche idea sul perché lo farebbero?

<*>POST);
È stato utile?

Soluzione

Questo perché il $ _REQUEST predefinito è una fusione di $ _GET , $ _POST E $ _COOKIE . Inoltre, l'ordine in cui le variabili di questi superglobali vengono unite in $ _REQUEST dipende dall'impostazione ini variabili_ordine e da PHP 5.3.0 può anche essere influenzato da < code> request_order . Quindi la mia ipotesi è che lo sviluppatore volesse assicurarsi che $ _REQUEST sia composto solo da $ _GET e $ _POST , uniti in quell'ordine particolare, se non avesse accesso alle impostazioni INI (ad esempio su un host condiviso). Vedete, variabili_ordine e request_order non sono configurabili in base allo script.

HTH

Altri suggerimenti

$ _REQUEST contiene i contenuti degli array $ _GET , $ _POST e $ _COOKIE per impostazione predefinita. Forse vogliono escludere le variabili COOKIE da esso, dal momento che generalmente non viene utilizzato a tale scopo.

Questo è così se hai una variabile GET e una variabile POST con lo stesso nome, sceglierà la variabile POST su quella GET.

Inoltre potresti non voler i cookie nella variabile $ _REQUEST.

Non so esattamente perché sia ??stato fatto dove l'hai visto, ma l'ho già visto prima quando è stata eseguita un'elaborazione sui valori in un array o in un altro e vuoi unire nuovamente tali modifiche in $ _REQUEST in modo che chiunque usi $ _REQUEST riceverà le modifiche anche se sono state apportate alle variabili $ _POST o $ _GET.

Ciò si presenta in situazioni come Wordpress perché gli sviluppatori di plugin potrebbero utilizzare una di quelle variabili per accedere ai dati e il core di Wordpress dovrebbe assicurarsi che tutti ottengano gli stessi dati.

Perché non dovresti voler farlo direttamente a $ _REQUEST? Perché $ _REQUEST contiene un sacco di informazioni extra che $ _POST e $ _GET non hanno. Potresti non voler applicare l'elaborazione a tutti quei bit extra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top