git - 在大型项目中使用 zend 框架和 git

标签 git zend-framework modular

我在一个相当大的项目中使用 zf 和 git 时遇到了一些问题。 zf 应用程序有大约 20 个模块,目前所有内容都存储在一个 git 存储库中。因此,当您检查应用程序时,您检查了整套模块、css 表、js 文件等。

我想做的,就像在 wordpress 或 drupal 中一样:您有自己的核心应用程序,并且对于每个模块,您都有一个单独的 git 存储库,您可以在模块目录中 check out 该存储库。 checkout 后,您可以对其进行处理,然后提交。但是使用 zend 你不能这样做,因为媒体文件(css、js、图像)存储在/public 中的不同目录中(例如,每个模块可能在/public/_MODULE_NAME_/css 中有自己的 css、js 文件) ).我在/application/modules/工作。

那么问题是您如何使用 zend 框架模块化应用程序和 git?

最佳答案

我通常设法处理软链接(soft link)的设置,在 web 文件夹中有一个 super 项目,并将来自不同文件夹中的模块符号链接(symbolic link)到:

* SuperProject/
  + application/
    + ModuleA --> ../../Modules/ModuleA/application
    + ModuleB --> ../../Modules/ModuleB/application
    + config/
    + views/
    + layouts/
  + public/
    + ModuleA --> ../../Modules/ModuleA/public
    + ModuleB --> ../../Modules/ModuleB/public
    + css/
    + js/
  + library/
+ Modules/
  * ModuleA/
    + application/
      + config/
      + views/
      + models/
    + public/
      + css/
      + js/
  * ModuleB/
    + application/
      + config/
      + views/
      + models/
    + public/
      + css/
      + js/

带星标的目录是存储库,SuperProject/public 是 http 服务器的入口点(当然启用了符号链接(symbolic link))。您显然没有在您的 SuperProject 存储库中添加任何模块文件,而只是在全局目录(例如 application/config/)中添加更改 - 充其量,您通过 .git_ignore 文件忽略模块。由于此方法依赖于符号链接(symbolic link),因此它仅适用于 unixoid 系统。虽然不完美,但麻烦最少。

关于git - 在大型项目中使用 zend 框架和 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11358308/

相关文章:

c++ - 快速 n 为大 n 选择 k mod p?

architecture - 如何使用 symfony4 实现模块化架构

c++ - 模幂 - 如何减少巨大的模数?

php - Controller 无法识别 Zend 自定义路由

git - 企业情况下如何在Git中管理一个软件的版本?

git - 卡在 git rebase 中……如何重置

eclipse - 为什么 git 仍在尝试添加类路径文件?

git - 在 Git 存储库中恢复已删除的文件夹

php - 如何使用 Zend Search (Lucene) 排除搜索指定字段

zend-framework - Zend 框架 : How to check an additional column while using DbTable Auth Adapter?