Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2011, 05:14
nerthalas
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 14 años
Puntos: 1
Don´t repeat yourself (DRY). Dudas con la reutilización de controladores y acciones.

Saludos.

Tengo un proyecto desarrollado con Zend en el cual varios controladores comparten en común tanto la vista como las acciones. Es decir, el controlador A comparte con B,C y D las mismas acciones. Asímismo, todos comparten el mismo template en la vista.

¿Sería posible crear un controlador común, con una vista común y con un grupo de acciones en común, que mostrara información personalizada según los parámetros que recibiese?

Poniendo un ejemplo: si tengo un menú que muestra 20 modelos de coche, cada modelo tiene las mismas acciones, y cada modelo comparte una vista en común, ¿cómo puedo crear una plantilla controlador/acciones/vista que según el modelo de coche muestre una información u otra?, ¿cómo le paso el/los parámetro/s al controlador?

Nota: la información personalizada se extraerá de una BBDD.

Se me ha ocurrido crear un controlador genérico y luego, mediante herencia, extender el resto, pero sigo necesitando crear un controlador personalizado para cada modelo de coche, lo cual no me resuelve el problema.

Una solución que he desarrollado consiste en, mediante un plug-in, interceptar el nombre del controlador y acción en el preDispatch y pasárselos posteriormente al controlador común. Sin embargo, estoy teniendo problemas al implementarla y quizás haya formas más elegantes de resolver el problema.

En fin, espero haberme explicado bien. Muchas gracias por adelantado.

Última edición por nerthalas; 04/06/2011 a las 07:07