2010-04-06 13 views
13

Esta pregunta es una continuación de mi pregunta anterior aquí zend models architecture (gracias a Bill Karwin). He hecho un poco de lectura que incluye este artículoDiseño controlado por el dominio con Zend

y esta cuestión

Ahora entiendo, qué dominio impulsada por el diseño es. Pero los ejemplos son todavía muy simples y pobres. Se basan en una tabla y un modelo. Ahora, mi pregunta es: ¿usan Domain Model Design en proyectos de PHP en el mundo real?

He estado buscando una buena documentación sobre esto, pero no he encontrado nada lo suficientemente bueno, eso explica cómo administrar varias tablas y transferirlas a objetos de dominio. Mientras sepa, hay una biblioteca de Hibernate que tiene estas características en Java, pero ¿qué debería usar en PHP (Zend Framework)?

+0

DDD definitivamente se usa con PHP en el mundo real. Estoy en la cola de un proyecto de tamaño mediano usándolo en este momento. Estoy de acuerdo en que hay una falta de ejemplos, generalmente recomiendo ver algunos códigos java y C# (que como desarrollador de PHP podrás entender). En general, encontrará algunos ejemplos de aplicaciones DDD, y la razón es obvia, en DDD, el modelo es específico del contexto, las aplicaciones de muestra en DDD llevan mucho tiempo escribiendo, y hay pocas posibilidades de volver a utilizar el código. – thelastshadow

Respuesta

17

Hay una newsgroup formed by Matthias Verraes about doing DDD in PHP, mainly with Sf2.

Poco más es de una serie de artículos escritos por Federico Cargnelutti sobre cómo hacerlo DDD con PHP y en partes con ZF que podrían ser de su interés:

En cuanto a ZF, ha habido una propuesta para Zend_Entity and Zend_DataMapper durante algún tiempo, pero el desarrollo en esos ha sido terminated in favor of integrating ZF with Doctrine. Doctrine es también lo más parecido a Hibernate en PHP.

Cuando googling for DDD with PHP, habrá algunos recursos adicionales, pero nada tan completo como los recursos disponibles en el official DDD site con code for the App se describe en Eric Evan's DDD book.

+0

¡Gracias, acepto que Doctrine es el camino correcto! – mik

+0

Solo para futuras referencias, parece que este método de desarrollo está ganando popularidad en la comunidad PHP.Mathias Verraes (si está interesado en DDD en PHP debe seguirlo) inició un [grupo de correo DDD PHP] (https://groups.google.com/forum/#!forum/dddinphp). Además, algunos usuarios de Symfony han publicado algunos ejemplos de aplicaciones (pequeñas) de DDD, ver [1] (https://github.com/igorw/doucheswag) y [2] (https://github.com/MarcelloDuarte/hexagonal- Symfony) – mTorres

2

Eche un vistazo a mi proyecto en GitHub. Intentó seguir los principios de DDD, SOLID y OOP. PHP and DDD. No hay un ORM adentro, sino una capa de acceso a datos hecha a mano. Las entidades de dominio intercambian mensajes. Presentation Layer obtiene un tipo especial de objetos. Encontrarás muchas fábricas. Están destinados a simplificar las pruebas unitarias y el mantenimiento. Espero que algunas técnicas te puedan interesar.

Cuestiones relacionadas