Pregunta

Acabo de ver este código mientras estudiaba el código fuente de WordPress (PHP). Puede ver que combinan / convierten todos los valores de obtención y publicación en una matriz de solicitud.

Ahora como lo sé, $ _GET y $ _POST ya están disponibles llamando a $ _REQUEST SIN utilizando la función array_merge (), ¿alguna idea de por qué harían esto?

Acabo de ver este código mientras estudiaba el código fuente de WordPress (PHP). Puede ver que combinan / convierten todos los valores de obtención y publicación en una matriz de solicitud.

Ahora como lo sé, $ _GET y $ _POST ya están disponibles llamando a $ _REQUEST SIN utilizando la función array_merge (), ¿alguna idea de por qué harían esto?

<*>REQUEST = array_merge(

Acabo de ver este código mientras estudiaba el código fuente de WordPress (PHP). Puede ver que combinan / convierten todos los valores de obtención y publicación en una matriz de solicitud.

Ahora como lo sé, $ _GET y $ _POST ya están disponibles llamando a $ _REQUEST SIN utilizando la función array_merge (), ¿alguna idea de por qué harían esto?

<*>GET,

Acabo de ver este código mientras estudiaba el código fuente de WordPress (PHP). Puede ver que combinan / convierten todos los valores de obtención y publicación en una matriz de solicitud.

Ahora como lo sé, $ _GET y $ _POST ya están disponibles llamando a $ _REQUEST SIN utilizando la función array_merge (), ¿alguna idea de por qué harían esto?

<*>POST);
¿Fue útil?

Solución

Esto se debe a que el $ _REQUEST predeterminado es una fusión de $ _GET , $ _POST Y $ _COOKIE . Además, el orden en que las variables de estas superglobales se fusionan en $ _REQUEST depende de la configuración ini variables_order y a partir de PHP 5.3.0 también puede verse influenciado por < code> request_order . Entonces, supongo que el desarrollador quería asegurarse de que $ _REQUEST consta de solo $ _GET y $ _POST , combinados en ese orden en particular, si no tenía acceso a la configuración ini (en un host compartido, por ejemplo). Verá, variables_order y request_order no son configurables por script.

HTH

Otros consejos

$ _REQUEST contiene el contenido de las matrices $ _GET , $ _POST y $ _COOKIE de forma predeterminada. Tal vez quieran excluir las variables COOKIE, ya que generalmente no se usa para ese propósito.

Esto es así si tiene una variable GET y una variable POST con el mismo nombre, elegirá la variable POST sobre la GET.

También es posible que no desee las cookies en la variable $ _REQUEST.

No sé específicamente por qué se hizo donde lo viste, pero lo he visto antes cuando se ha realizado algún procesamiento en los valores de una matriz u otra y quieres fusionar esos cambios nuevamente en $ _REQUEST para que cualquiera que use $ _REQUEST obtenga los cambios aunque se hayan realizado en las variables $ _POST o $ _GET.

Esto surge en situaciones como Wordpress porque los desarrolladores de plugins podrían estar usando cualquiera de esas variables para acceder a los datos y el núcleo de Wordpress necesitaría asegurarse de que todos obtengan los mismos datos.

¿Por qué no querrías hacerlo en $ _REQUEST directamente? Porque $ _REQUEST contiene una tonelada de información adicional que $ _POST y $ _GET no tienen. Es posible que no desee aplicar su procesamiento a todos esos bits adicionales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top