zend framework database zend-framework2 zend-db

database - zend framework 3



zf2-Zend / Db-¿Qué hacen Model, Entity, Hydrator, Mapper, TableGateway y cómo se vinculan todos juntos? (2)

El modelo puede ser una entidad, pero estrictamente, el modelo es una entidad con lógica de negocios dentro. para el sistema simple, el modelo es una entidad.

Mapper es una forma utilizada para tratar la persistencia de Objetos en RDBMS, es una herramienta para convertirse entre las propiedades de los objetos y las columnas de las filas.

Hydrator es una herramienta para intercambiar datos entre el origen de datos y los objetos (modelos o entidades), el origen de datos puede ser un RDBMS o algo más (servicio web, NoSQL, etc.).

Los mapeadores contienen más soluciones de detalle sobre la persistencia mediante RDBMS, como, carga lenta, almacenamiento en caché, transacción, etc.

TableGateway es un resumen con tablas DB, pero a menudo las tablas no son la persistencia de objetos del mundo real, sino que nos proporciona una forma de acceder a los datos de relación en un estilo OOP.

Por favor explique que

  • Modelo
  • Entidad
  • TableGateway
  • Mapper
  • Hidratante

hacer y cómo funciona todo junto en la aplicación zf2.

por favor no den enlaces a artículos de blogs. Necesito una explicación simple de la imagen grande .

Por lo que yo entiendo, estos son los mismos :?

Model == Entity Hydrator == Mapper


Si tomamos por ejemplo una tabla db. Entonces:

  • El modelo representará una clase de fila donde las variables de clase serían columnas.
  • La entidad es el mismo concepto que el modelo utilizado por Doctrine .
  • TableGateway es parth del patrón Table Gateway . Tendrá información sobre el nombre de la tabla. Este es el lugar donde se ubicarán todos los métodos de consulta. Usado en todos los ejemplos de zf2 .
  • Mapper es parth del patrón Data Mapper . Es una manera más avanzada de manejar el mismo problema que está haciendo TableGateway.
  • Hydrator está cambiando los resultados de su fila de selección de la matriz al objeto Modelo. Si no se proporciona, entonces zf2 usará ArrayObject en su lugar.