Ситуация
У меня есть базовое приложение Symfony, которое можно сравнить с абстрактным классом.
У меня есть несколько клиентских приложений Symfony, основанных на базе app.
Клиентские приложения — это простые веб-сайты, каждый из которых содержит разные (доступные только для чтения) данные, темы и т. д.
Приложение Base – НЕ работает как автономное
- Файлы .htaccess, AppKernel, config.yml и т. д.
- несколько пакетов поставщиков
- Базовый пакет с некоторыми базовыми представлениями
- отсутствует контроллер
- отсутствует маршрутизация
- не хватает ресурсов для конкретных клиентов
Клиент – содержит элементы, отсутствующие в приложении Base.
- "внедрено" в приложение Base
- Контроллер(ы)
- маршрутизация
- специфические для клиента ресурсы (представления, css, js, данные и т. д.)
Использование git, и он предпочел бы создать репозиторий git из кода Base, при этом каждый репозиторий Customer ссылается на Base репозиторий как подмодуль.
Это сохраняет код Base в одном репозитории и поддерживает четкое разделение между репозиториями Customer.
root\ - (Customer repo) Customer\ - (Customer-specific files) Symfony\ - (Base app submodule repo) app\ src\ MyCompany\ BaseBundle\ vendor\ web\
Точка преткновения
Не удалось заставить Symfony распознать папку Customer\
и любое ее содержимое.
Характеристики
- Симфония 2.3
- Гит
- Апач 2.4.4
- PhpStorm
- виндовс 7 х64
Неудачные попытки
- добавление пакета Customer в AppKernel.php
registerBundles
- регистрация папки
Customer\
в autoload.php