2010-05-30 5 views
5

Estoy aprendiendo Zend Framework and Doctrine.zend-framework doctrine, y mvc pattern: ¿qué tipo de capa debe conectar datos entre modelos y formularios?

Me pregunto cuál es la mejor práctica para conectar formas a modelos y viceversa.

En algunos casos, es útil cargar datos del modelo en la clase de formulario. Digamos una clase muy única que usa muchos modelos.

En otros casos es conveniente disponer de métodos en la clase de modelo que prepara los datos para las formas. Digamos que podría tener un método que devuelva una matriz preparada para el elemento de opciones de selección, por lo que este método será útil para muchas formas.

Me gustaría tener consistencia y mantener siempre esta lógica en una capa.

creo controlador no es el lugar adecuado porque quiero mantenerlo claro y sencillo.

¿Cuál es su práctica para lograr este objetivo (conectar modelos a formularios)?

- Estoy llegando a la conclusión de que debería preparar mis modelos para todas mis necesidades. Si tengo que lidiar con muchos modelos, tendré una capa de servicio (¿es el término correcto?) Que conectará esos modelos. Entonces, el modelo o el servicio tendrá métodos para hidratar los datos de los formularios. Y podrá aceptar datos de los valores del formulario.

+2

tiendo a trazar formas y modelos en el controlador, pero he oído argumentos de que el modelo debe entregar el formulario. Las formas son una bestia extraña en general porque contienen elementos de vista. – Sonny

Respuesta

2

Creo que el controlador es el mejor lugar para conectar modelos y formularios. Si desea evitar una gran cantidad de código para rellenar el formulario, cree un método de llenado en el formulario que acepte un modelo.

Si deja que los modelos y formas de comunicarse directamente Será muy confuso lo que ocurrirá en un momento determinado. Crearía métodos de conveniencia como el método populate para mantener las cosas cortas, pero todas las acciones deberían iniciarse desde el controlador para mantener las cosas centrales y evitar el "comportamiento mágico".

Sólo mi 2 centavos ..

+0

Me gusta su respuesta, especialmente porque valida lo que ya hago;) – Sonny

Cuestiones relacionadas