Php 庞大的zend框架项目和模型放置位置

Php 庞大的zend框架项目和模型放置位置,php,model-view-controller,zend-framework,structure,models,Php,Model View Controller,Zend Framework,Structure,Models,我们有一个庞大的Zend框架项目,它基本上是一个4种不同语言的网站,有相当多的页面。通常我的应用程序处理10~15个数据库表和5/6个控制器,因此我将所有模型放在applications/models下 该项目的问题在于,同样的做法会导致在每个模块中复制相同的模型,可能会产生大量重复的代码,并使维护变得困难。我想知道把模型放在库下是否明智 你们这些人在这种情况下怎么办?一些解决方案,我按照我的偏好顺序考虑 将模型和共享代码放在/library 制作一个公共模块并使用自动加载从任何模块加载此类

我们有一个庞大的Zend框架项目,它基本上是一个4种不同语言的网站,有相当多的页面。通常我的应用程序处理10~15个数据库表和5/6个控制器,因此我将所有模型放在
applications/models

该项目的问题在于,同样的做法会导致在每个模块中复制相同的模型,可能会产生大量重复的代码,并使维护变得困难。我想知道把模型放在
库下是否明智

你们这些人在这种情况下怎么办?一些解决方案,我按照我的偏好顺序考虑

  • 将模型和共享代码放在
    /library
  • 制作一个公共模块并使用自动加载从任何模块加载此类
  • 肮脏但可能设置一些符号链接,以便模型中的文件都来自同一个源。。。但可能不好

我将所有库代码(包括型号)保存在/library下。依我看,这就是它的目的。然后,如果您需要在应用程序之间共享库(包括模型),可以使用单个符号链接或git子模块:

您的本地应用程序:

/myapp/application/
/myapp/public/
/myapp/library/
/myapp/library/MyApp/
拉入外部依赖项:

/myapp/library/OtherLib (git submodule of a separate repo)
/myapp/library/ExtraLib (symlink to /path/to/ExtraLib/)
或:


如果将模型与库分开,则每个依赖项都有两个装入点。

我将所有库代码(包括模型)保存在/library下。依我看,这就是它的目的。然后,如果您需要在应用程序之间共享库(包括模型),可以使用单个符号链接或git子模块:

您的本地应用程序:

/myapp/application/
/myapp/public/
/myapp/library/
/myapp/library/MyApp/
拉入外部依赖项:

/myapp/library/OtherLib (git submodule of a separate repo)
/myapp/library/ExtraLib (symlink to /path/to/ExtraLib/)
或:


如果将模型与库分开,则每个依赖项都有两个装入点。

这是我通常构造应用程序的方式,尽管我已将它们存储在其他项目的
文件夹中。我更喜欢这种结构,而不是将它们存储在库中,因为模型是特定于应用程序的,而我的库用于存储应用程序较少的(?)类(典型的Auth、过滤器等)


这就是我通常构造应用程序的方式,尽管我已将它们存储在其他项目的
库中。我更喜欢这种结构,而不是将它们存储在库中,因为模型是特定于应用程序的,而我的库用于存储应用程序较少的(?)类(典型的Auth、过滤器等)