В настоящее время у меня есть веб-приложение с 3 внешними интерфейсами (в зависимости от того, на какой URL вы идете), которое разделяет очень мало кода между 3 внешними интерфейсами. Моя структура каталогов выглядит так:
\app1
\includes
\html
\app2
\includes
\html
\app3
\includes
\html
\crons
\libs
\logs
\setup
\db
\shared
\globalFunctions
\oldAPI
\oldClasses
Папки приложений - это отдельные внешние интерфейсы с собственными включениями и документами в формате html. Crons предназначен только для работы с CLI, библиотеки libs - это более новые библиотеки PHP5, такие как новый код, который мы пишем, и такие вещи, как Zend Framework. Журналы - это журналы приложений, настройка - это информация о настройке для развертывания, а общая - это старая кодовая база PHP4, на которую все еще опирается некоторая часть кода. Все хранится в одном большом репозитории SVN.
Что было бы разумным способом разбить это, чтобы я мог превратить этот один большой проект SVN в меньшие, чтобы было легче разветвлять и объединять? В любом случае, большинство проектов сосредоточены на одном приложении, поэтому редко приходится обновлять код в нескольких местах.
Или лучше сохранить эту текущую структуру и просто идти дальше, пока мы переносим код PHP4 на OO PHP5 и, естественно, пропускаем вещи?