Доменный дизайн с Zend

Этот вопрос является продолжением моего предыдущего вопроса здесь архитектуры моделей zend (большое спасибо Биллу Карвину). Я прочитал эту статью, включая эту статью

  • http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html

и этот вопрос

  • Как правильно создать домен с помощью Zend Framework?

Теперь я понимаю, что такое доменный дизайн. Но примеры все еще очень просты и бедны. Они основаны на одной таблице и одной модели. Теперь, мой вопрос: они используют дизайн модели домена в реальных проектах PHP?

Я искал хорошую документацию об этом, но я не нашел ничего хорошего, объясняющего, как управлять несколькими таблицами и передавать их объектам Domain. Пока я знаю, есть библиотека Hibernate, которая имеет эти функции на Java, но что я должен использовать в PHP (Zend Framework)?

Solutions Collecting From Web of "Доменный дизайн с Zend"

Существует новостная группа, созданная Matthias Verraes о том, как делать DDD в PHP, в основном с Sf2.

Несколько старше – серия статей Федерико Каргнеттити о том, как делать DDD с PHP и частями с ZF, которые могут вас заинтересовать:

  • Архитектура, ориентированная на домен и архитектура MVC
  • Проект, управляемый доменами: стратегии доступа к данным
  • Проект, управляемый доменами: репозиторий
  • Проект, управляемый доменом: пример приложения

Что касается ZF, в течение некоторого времени было предложено Zend_Entity и Zend_DataMapper , но разработка на них была прекращена в пользу интеграции ZF с Doctrine . Доктрина также самая близкая вещь для Hibernate в PHP.

Когда googling для DDD с PHP , будет несколько дополнительных ресурсов, но не будет столь же всеобъемлющим, как ресурсы, доступные на официальном сайте DDD, с кодом для приложения, описанным в книге DDD Эрика Эвана .

Взгляните на мой проект в GitHub. Он пытался следовать принципам DDD, SOLID и OOP. PHP и DDD . Внутри отсутствует ORM, а ручной доступ к данным. Объекты домена обмениваются сообщениями. Уровень презентации получает особый вид объектов. Вы найдете много заводов. Они предназначены для упрощения модульных испытаний и технического обслуживания. Я надеюсь, что некоторые методы могут вас заинтересовать.