php - 使用具有独立模块化结构的 Zend Framework 和 Doctrine

标签 php zend-framework doctrine module

我看过很多关于集成 ZF 和 Doctrine 的文章。还有ZF的提案here但它们总是有两种可能的结构。他们要么将所有模型放入一个顶级模型目录中,要么将其放入与模块相关的模型目录中。

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 文件生成类。

任何想法、链接或解决方案?谢谢!

最佳答案

我现在工作的公司正在努力解决这个问题。

我们目前遵循 Zend 模块化目录结构,我们在每个模块目录中都有我们的模型文件夹,其基本目录如下:

|----application
|--------modules
|------------content
|----------------models
|--------------------Base
|------------------------Content.php
|--------------------Content.php

我们的模型会自动加载,但我们还没有将代码生成集成到 zf cli 中,所以我们目前生成模型,然后手动将它们复制到模块目录中。

抱歉,我没有您需要的确切答案,但您可能也对此感兴趣 proposal在 Zend 社区。

关于php - 使用具有独立模块化结构的 Zend Framework 和 Doctrine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2064287/

相关文章:

php - 从 OO PHP 中的重写方法中调用重写方法

php - .htaccess modrewrite 无法正常工作?

php - 检查用户是否通过电子邮件激活其帐户并在单击激活链接后显示消息 PHP/JavaScript

php - Symfony 1.4 通过 SSL 连接到 mysql

php - symfony 过滤器将行为从 [field=value] 更改为 [field LIKE %value%]

php - Zend Framework "Resources"是什么?

php - 如何在php中获取特定的 session 路径?

php - 在 MyISAM 中使用全文搜索匹配精确值

php - 在 php 中获取服务器时间 - 时区问题

mysql - mariadb 在更新时丢失主键