Manual doctrine completo espanol

Page 178

Doctrine 2 ORM Documentation, Release 2.1

Un usuario puede ver todos sus fallos reportados o asignados. Los fallos se pueden paginar a través de una vista de lista. Advertencia: Esta guía va construyendo gradualmente tu conocimiento de Doctrine 2 e incluso te permite cometer algunos errores, para mostrar algunos errores comunes en la asignación de entidades a una base de datos. No copies y pegues ciegamente estos ejemplos, no están listos para producción sin comentarios adicionales y el conocimiento que esta guía enseña.

2.1.3 Un primer prototipo Un primer diseño simplificado para este modelo del dominio podría tener el siguiente conjunto de clases: <?php class Bug { public $id; public $description; public $created; public $status; public $products = array(); public $reporter; public $engineer; } class Product { public $id; public $nombre; } class User { public $id; public $nombre; public $reportedBugs = array(); public $assignedBugs = array(); }

Advertencia: Este es sólo un prototipo, por favor no utilices propiedades públicas en todo Doctrine 2, la sección “Consultas para casos de uso de la aplicación” muestra por qué. En combinación con los delegados de las propiedades públicas puedes compensar fallos bastante desagradables. Debido a que nos vamos a centrar en el aspecto de la asignación, no estamos tratando de encapsular la lógica del negocio en este ejemplo. Todas las propiedades persistibles tienen visibilidad pública. Pronto veremos que esta no es la mejor solución en combinación con Doctrine 2, una restricción que en realidad te obliga a encapsular tus propiedades. En realidad Doctrine 2 para la persistencia utiliza Reflexión para acceder a los valores de todas las propiedades de tus entidades. Muchos de los campos son simples valores escalares, por ejemplo, los tres campos ID de las entidades, sus nombres, descripción, estado y fechas de cambio. Doctrine 2 puede manejar fácilmente estos valores individuales al igual que cualquier otro ORM. Desde el punto de vista de nuestro modelo del dominio están listos para utilizarse en este momento y, en una etapa posterior, vamos a ver la forma en que se asignan a la base de datos. También hay varias referencias entre objetos en este modelo del dominio, cuya semántica se analiza caso por caso en este punto para explicar cómo los maneja Doctrine. En general, cada relación unoAuno o muchosAuno en la base de datos se sustituye por una instancia del objeto relacionado en el modelo del dominio. Cada relación unoAmuchos o muchosAmuchos se sustituye por una colección de instancias en el modelo del dominio. 174

Capítulo 2. Guías iniciales


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.