Мы пытаемся запустить пару сайтов, которые используют около 90% своего кода. Бизнес-сфера та же, но их интерфейсы немного отличаются. Следовательно, они будут иметь разные CSS.
Как бы вы управляли базой кода, чтобы поделиться кодом, который требует этого?
Два основных способа
Например, весь код уровня приложения, такой как маршрутизатор, управление зависимостями, проверка, сопоставление сущностей домена, может управляться как Композитор зависимости через Packagist. Можно использовать частные репозитории в качестве зависимостей, если код не имеет открытого исходного кода.
Затем вы должны иметь разные репозитории для каждого сайта и создавать части, которые являются одинаковыми, с помощью Composer, и кодировать только ту часть, которая на самом деле отличается. Вероятно, у вас будет два сервера для разных доменов.
Это подразумевает дополнительную настройку через Composer и код.
репо 1 /приложение / viewSpecificToOne / общественности / cssSpecificToOne / jsSpecificToOne index.php / поставщика / [зависимости, установленные через composer] репо 2 /приложение / viewSpecificToTwo / общественности / cssSpecificToTwo / jsSpecificToTwo index.php / поставщика / [зависимости, установленные через composer]
Это близко к другому решению, но вы бы отправляли разные маршруты на разные фронт-контроллеры, которые использовали бы одни и те же сопоставители доменов, валидацию, маршрутизаторы и т. Д., Но имели два разных уровня просмотра, которые содержали бы определенный код.
Это подразумевает дополнительную конфигурацию с сервера для обслуживания каждого домена из двух общедоступных репозиториев.
Repo /приложение / view1 / viewLogicSpecificToOne / view2 / viewLogicSpecificToTwo / public1 / cssSpecificToOne / jsSpecificToOne index.php / public2 / cssSpecificToTwo / jsSpecificToTwo index.php / Lib / sharedPackages
Других решений пока нет …