我们正在尝试运行几个共享大约90%代码的网站。业务域是相同的,但它们的UI有点不同。因此他们会有不同的CSS。
您如何管理代码库以共享需要它的代码?
答案 0 :(得分:1)
两种一般方式
例如,所有应用程序级代码(例如路由器,依赖关系管理,验证,域实体映射)都可以通过Composer作为Packagist依赖关系进行管理。如果代码不是可开源的,那么可以使用私有存储库作为依赖关系。
然后,您将为每个站点使用不同的repo,并使用Composer构建相同的部分,并仅编写实际不同的部分。对于不同的域,您可能有两台服务器。
这意味着通过Composer和代码进行更多配置。
repo 1 /app /viewSpecificToOne /public /cssSpecificToOne /jsSpecificToOne index.php /vendor /[dependencies installed through composer] repo 2 /app /viewSpecificToTwo /public /cssSpecificToTwo /jsSpecificToTwo index.php /vendor /[dependencies installed through composer]
这与其他解决方案很接近,但您可以将不同的路由发送到不同的前端控制器,这些控制器将使用相同的域映射器,验证,路由器等,但具有两个不同的View层,这些层将具有特定的代码。
这意味着服务器需要从两个公共存储库中为每个域提供更多配置。
Repo /app /view1 /viewLogicSpecificToOne /view2 /viewLogicSpecificToTwo /public1 /cssSpecificToOne /jsSpecificToOne index.php /public2 /cssSpecificToTwo /jsSpecificToTwo index.php /lib /sharedPackages