Подтвердить что ты не робот

Работа с картой zend и git в крупных проектах

У меня возникли проблемы с работой zf и git в довольно большом проекте. Приложение zf имеет около 20 модулей, и на данный момент все хранится в одном репозитории git. Поэтому, когда вы проверяете приложение, вы проверяете весь набор модулей, css-листов, js файлов и т.д.

Что бы я хотел сделать, это что-то вроде wordpress или drupal: у вас есть основное приложение, и для каждого модуля у вас есть отдельный репозиторий git, который вы проверяете в каталоге модулей. После проверки вы работаете над этим, а затем выполняете его. Но с zend вы не можете этого сделать, потому что медиа файлы (css, js, images) хранятся в другом каталоге в /public (каждый модуль может иметь собственные css, js файлы в /public/ _MODULE_NAME_/css, например). Я работаю в /application/modules/.

Итак, вопрос в том, как вы работаете с модульными приложениями zend framework и git?

4b9b3361

Ответ 1

Мне обычно удается справиться с настройкой программных ссылок, имея один суперпроект в веб-папке и символическую привязку модулей из другой папки:

* 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-сервера (с символическими ссылками, конечно же, включенными). Вы, очевидно, не добавляете модули файлы в репозиторий SuperProject, а только изменения в глобальных каталогах (например, application/config/) - в лучшем случае вы игнорируете модули через файл .git_ignore. Поскольку этот метод опирается на символические ссылки, он будет работать только на unixoid-системах. Не будучи совершенным, это наименее хлопот.