Архитектура Zend Framework с использованием шаблона проектирования Data Mapper - PullRequest
1 голос
/ 03 октября 2011

Итак, я разрабатываю приложение, используя шаблон проектирования Data Mapper, но у меня возникли некоторые проблемы с обработкой отношений между таблицами базы данных. Я не уверен и не смог найти никакой информации о том, как мне следует сопоставить мои отношения с шаблоном Data Mapper.

Должен ли я использовать определения referenceMap и зависимых таблиц в моих классах DbTable или мне нужно идти с композицией и создавать новый класс, когда мне это нужно?

Например, сообщение в блоге и его автор должны выглядеть примерно так:

$blog->author = findDependentRowset($row)

или

$author = new Author();
$blog->author = $author->findAuthorById($authorId);

1 Ответ

0 голосов
/ 04 октября 2011

На мой взгляд, наиболее «связанный с Data Mapper» способ реализации отношений таблиц в Zend Framework, как вы указали, использует referenceMap и dependentTables.

В зависимости от других факторов (потребности в производительности, сложность вашей модели БД ...) вы можете быть немного менее строгими с шаблоном проектирования и реализовывать сопоставление только для таблиц, самостоятельно реализуя запросы, связанные с отношениями (используя объект Zend_Select, предоставленный$this->getAdapter()->select() и немного JOINs).

Надеюсь, это поможет,

...