Я видел много статей об интеграции ZF и Doctrine. Здесь также есть предложение для ZF здесь , но у них всегда есть две возможные структуры. Либо они помещают все модели в один каталог моделей верхнего уровня, либо они помещают его в каталог моделей, связанных с модулями.
application
|-- Bootstrap.php
|-- configs
|-- controllers
|-- models - EITHER HERE
|-- modules
| -- examplemodule
| |-- controllers
| |-- models - OR HERE
| |-- views
|-- views
Для наших проектов я вижу проблемы для любого из двух вариантов:
1. Один каталог: application / models - в сложной системе через короткое время появятся сотни файлов, всего, когда у вас есть два класса таблиц (например, User.php и UserTable.php).
2. Каталоги моделей на основе модулей: application / modules / examplemodule / models - во многих случаях мы используем модели в нескольких модулях одновременно. Таким образом, требуется «Пользователь», например, в модулях "игра", "администрация", ...
Есть ли способ использовать какие-то подкаталоги в директориях верхнего уровня "models", чтобы получить некоторую группировку. Он должен быть полностью независим от структуры модуля.
application
|-- Bootstrap.php
...
|-- models
| -- user
| |-- User.php
| |-- Friend.php
| |-- other user related models
| -- game
| |-- Game.php
| |-- Score.php
| |-- ...
...
Любое решение должно поддерживать автозагрузку и генерацию классов из файлов yaml.
Есть идеи, ссылки или решения? Спасибо!