¿Hay algún tipo de solicitud de obtención en el controlador? ¿Cómo?¿Cómo obtener el tipo de solicitud (maestro/secundario) en el controlador Symfony2?
Respuesta
Para detectar si la solicitud es maestra o no, se requiere el uso del RequestStack
, que se debe inyectar en el controlador. La pila solicitud tiene 3 métodos útiles
getCurrentRequest();
getMasterRequest();
getParentRequest();
El getParentRequest()
siempre devolverá NULL si la petición actual es el maestro.
fácil, simplemente llame al método getMethod()
en el objeto Request
:
$method = $this->get('request')->getMethod();
Esto devolverá el método HTTP de la petición actual, por ejemplo, GET
, POST
, PUT
o DELETE
.
Estaba buscando esto por mí mismo, y parece que se acaba de pasar, por lo que no parece haber un solo lugar que sepa de qué se trata.
Mi idea para resolver esto sería crear un simple oyente kernel.request que simplemente agregue un atributo a la solicitud. Rugosa (no probado) código de abajo:
public function onKernelRequest(GetResponseEvent $event)
{
$event->getRequest()->attributes->set('_request_type', $event->getRequestType());
}
Luego, en el controlador que debe ser capaz de hacer:
$requestType = $this->getRequest()->attributes->get('_request_type');
De nuevo, esto no se ha probado. Tendría que escribir la clase de oyente completa y agregarla al archivo de configuración de servicios, pero aparte de eso, creo que esto funcionará.
- 1. Constructor en el controlador Symfony2
- 2. Acceso a valores POST en el objeto de solicitud Symfony2
- 3. ¿Cómo puedo enviar la respuesta json en el controlador symfony2?
- 4. solicitud POST en Symfony2
- 5. MSCharts "No se encontró un controlador http para el tipo de solicitud 'OBTENER'" error
- 6. ¿Cómo obtener la ruta de la carpeta Recursos/Configuración en el Controlador Symfony2?
- 7. Symfony2 obtener el entorno actual en el oyente de respuesta
- 8. El controlador Symfony2 no detectará la excepción
- 9. Como llegar valores del formulario en el controlador de Symfony2
- 10. Controlador de resorte Obtener solicitud/respuesta
- 11. Symfony2 Templating sin solicitud
- 12. ¿Cómo obtener useragent en el controlador magento?
- 13. ¿Cómo obtener baseUrl en el controlador ZF2?
- 14. pasando los datos del controlador a Tipo symfony2
- 15. ¿Cómo obtener el URI de solicitud en Grails?
- 16. Symfony2: ¿Cómo obtener el objeto del usuario dentro del controlador cuando se usa FOSUserBundle?
- 17. symfony2 - Obtener tiempo de ejecución
- 18. Catch swiftmailer excepción en el controlador Symfony2 dev env
- 19. ¿Cómo obtengo el valor de mapeo de solicitud en el controlador?
- 20. ¿Cómo puedo obtener el único resultado usando DQL en symfony2
- 21. ¿Cómo obtener el controlador de destino y la acción de la solicitud con Rails 3?
- 22. Symfony2/Doctrine, teniendo que poner la lógica de negocio en mi controlador? Y duplicar el controlador?
- 23. Obtener URL de solicitud completa, incluidos los parámetros en el controlador
- 24. ¿Qué es el controlador Jdbc tipo 5
- 25. Obtener configuración cargada en el controlador
- 26. ¿Cómo obtengo la dirección IP del usuario en el controlador Symfony2?
- 27. Cómo enviar la solicitud a "j_spring_security_check" desde el controlador
- 28. ¿Obtener nombre de usuario en el constructor para el controlador?
- 29. ¿Cómo obtener el contenido de solicitud (cuerpo) en PHP?
- 30. Identificación de solicitud de Ajax o solicitud de navegador en el controlador de grails
Noo. Quiero decir: ¿es esta solicitud maestra o sub solicitud? – Koc
Ah bien, perdón por eso. En ese caso, deberá conectar el evento 'kernel.request' y comprobar si' $ event-> getRequestType() 'es igual a' HttpKernelInterface :: MASTER_REQUEST' o 'HttpKernelInterface :: SUB_REQUEST'. – igorw
@igorw, debe actualizar su publicación con la respuesta que dio en su comentario para que se pueda subir el voto. La gente no reprende una respuesta que no responde la pregunta. – Quentin