У меня есть общая папка, которая содержит все версии Zend Framework, которые используются всеми различными приложениями. Каждое приложение ссылается на них. Итак, у нас есть структура каталогов примерно такая:
htdocs/common/zend-1.10.1/
htdocs/common/zend-1.10.2/
htdocs/apps/app1
htdocs/apps/app2
Если, однако, мы находимся в производственной среде - например, приложение app1 развернуто на своем собственном сервере, то мы просто делаем app1 папкой root / htdocs (поэтому загрузите все содержимое папки app1 в htdocs сервера). Затем мы также создаем общую папку и загружаем любые библиотеки, которые использует конкретное приложение.
Это работает так же, как мы define(COMMON_PATH, $_SERVER['DOCUMENT_ROOT'].'/common')
как общая папка, поэтому не требуется никакой дополнительной настройки для различных структур каталогов. Затем мы можем использовать это в нашем application.ini по zendpathorwhatever = COMMON_PATH "/zend-1.10.2
Таким образом, у нас есть только одна копия каждой версии Zend Framework, которую мы используем, и для производства нам нужно загрузить только то, что нам нужно.
У каждого приложения всегда есть своя собственная папка библиотеки, так как она используется для требований каждого приложения. Если окажется, что все приложения используют библиотеку, мы помещаем ее в общую папку.
В целом им легко управлять, и оно оказалось довольно элегантным решением при использовании его с SVN Externals.