Foros del Web » Programando para Internet » PHP » Symfony »

Combinar respuesta de más de un bundle

Estas en el tema de Combinar respuesta de más de un bundle en el foro de Symfony en Foros del Web. Hola! Tengo con un nivel bajo en Symfony2 y me cuesta avanzar en la situación que me gustaría representar ahora. Agradecería cualquier ayuda u opinióm ...
  #1 (permalink)  
Antiguo 16/08/2014, 12:20
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 21 años, 4 meses
Puntos: 1
Pregunta Combinar respuesta de más de un bundle

Hola!

Tengo con un nivel bajo en Symfony2 y me cuesta avanzar en la situación que me gustaría representar ahora. Agradecería cualquier ayuda u opinióm

Se trata de implementar un conjunto de apps: Una aplicación principal, que lleva tareas de autenticación, usuarios menús etc. (MainBundle) y otras app (SubsBundle) con diversas funciones (p.e. un gestor de noticias) que deben devolver su respuesta dentro de la principal. Es decir, el resultado de lo que se ve por pantalla debe estar devuelto por el proceso de MainBundle y SubsBundle.

Además lo suyo es que la ejecución de la App MainBundle fuera en primer lugar y desde SubsApp se pudiera tener acceso a datos de Main. Por ejemplo saber los privilegios del usuario que está ejecutando etc.

Pienso que no es una situación tan rara, la que se da en este caso. Por ejemplo es lo habitual que tendremos en una herramienta de administración y cada Bundle que se gestiona dentro del panel. Yo esto lo he sabido implementar con otros frameworks (Fusebox para ser exactos) Pero este proyecto está completamente desfasado y tengo que migrar a Symfony, que es el FMW que he elegido para evolucionar.

Este sencillo gráfico puede ilustrar a modo de resumen lo que he comentado:



¿Alguien puede echarme una mano para representar este escenario dentro del marco Symfony2?

Muchas gracias y un saludo.

Última edición por bauhaus1975; 16/08/2014 a las 12:40 Razón: Gráfico añadido
  #2 (permalink)  
Antiguo 17/08/2014, 00:57
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 21 años, 4 meses
Puntos: 1
Respuesta: Combinar respuesta de más de un bundle

Hola
Me he equivocado de foro publicando este post aquí.
Por favor, ¿Puede algún moderador moverlo al foro Symfony?

Muchas gracias!
  #3 (permalink)  
Antiguo 17/08/2014, 19:57
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Combinar respuesta de más de un bundle

Puedes usar controladores incrustados: http://symfony.com/doc/current/book/...ng-controllers
O crear tus controladores como servicios: http://symfony.com/doc/current/cookb...r/service.html
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 19/08/2014, 12:43
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 21 años, 4 meses
Puntos: 1
Respuesta: Combinar respuesta de más de un bundle

Hola HHS! gracias por tu atención,

Creo que no es suficiente pues necesito tener control de la ejecución antes de llegar a la plantilla. Debería tener control antes para poder decidir el Controlador::Accion que debe ejecutarse y disponer de ciertos datos (variables, resultado de modelos) que deben existir para estar disponibles.

Estoy investigando con el método 'forward' de la clase Controller, aunque sin resultados todavía. De momento no soy capaz de combinar el resultado de los dos bundles.

Código PHP:
class DefaultController extends Controller
{
    public function 
indexAction($name)
    {
        
// 1º Respuesta procesada por bundle hijo 'SubBundle'
        
$responseGlobal $this->forward('AcmeSubBundle:Default:index', array('name' => $name));
        
// 2º Queremos añadir dicha respuesta al layer principal procesado por el bundle 'Main'
        
return $this->render('AcmeMainBundle:Default:index.html.twig', array('name' => $name), $responseGlobal );    
        
// NOTA: Necesitamos una forma de poder encaminar desde el bundle Main la llamada del SubBundle:Accion que proceda según la URL
    
}


El caso es que toda URL debería pasar siempre por el bundle padre y después pasar la ejecución al bundle que se encargue de la acción particular solicitada.

Realmente me parece curioso no haber encontrado un ejemplo de este caso...

Voy a seguir haciendo pruebas, cualquier ayuda/consejo será bienvenido.
Un saludo!
  #5 (permalink)  
Antiguo 20/08/2014, 11:40
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Combinar respuesta de más de un bundle

Cita:
El caso es que toda URL debería pasar siempre por el bundle padre y después pasar la ejecución al bundle que se encargue de la acción particular solicitada.
En symfony esto no es requerimiento las rutas pueden ir ligadas al controlador que ejecute la accion. Pero si requieres que funcione de esa forma y que el bundle use cierta lógica para decidir que se hace en cada caso, lo que aplicaría desde mi punto de vista seria crear servicios y que los dispares mediante eventos de tal forma que el resultado lo agregues a la vista del Action que este manejando el control de las peticiones.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 11/09/2014, 03:23
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 21 años, 4 meses
Puntos: 1
Respuesta: Combinar respuesta de más de un bundle

Hola!

Sigo estudiando toda la documentación que puedo y haciendo pruebas para ver si soy capaz de representar el problema expuesto.

Por eso no he respondido antes. Sigo con ello, espero publicar algo en cuanto tenga algo...

Me resulta difícil depurar el 'Core' para entender bien los componentes. Creo que han hecho demasiado complejo este Framework (es mi humilde opinión)

Un saludo.
  #7 (permalink)  
Antiguo 11/09/2014, 08:37
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Combinar respuesta de más de un bundle

Es probable que te estes complicando demasiado por que estés comparando el uso de Fusebox con symfony que son completamente opuestos.

Cita:
Me resulta difícil depurar el 'Core' para entender bien los componentes. Creo que han hecho demasiado complejo este Framework (es mi humilde opinión)
Te recomiendo que leas el libro oficial para un panorama general.
Para el funcionamiento interno lee: http://symfony.com/doc/current/book/internals.html
Para el funcionamiento del kernel: http://symfony.com/doc/current/compo...el-kernel-view
Symfony tiene su complejidad por que aplica practicas que en teoría debes de conocer. Si estas haciendo debug re recomiendo que uses Xdebug o XHProf con tu editor para que puedas ir paso a paso en cada punto del recorrido de una petición
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 12/09/2014, 12:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Combinar respuesta de más de un bundle

Puedes usar también los eventos de Symfony para eso:

http://symfony.com/doc/current/cookb...r_filters.html

Etiquetas: frameworks-y-php-orientado-a-objetos, multiples, respuesta, symfony2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.