Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用不同UI共享代码库_Php_Architecture_Codebase - Fatal编程技术网

Php 使用不同UI共享代码库

Php 使用不同UI共享代码库,php,architecture,codebase,Php,Architecture,Codebase,我们正在尝试运行两个站点,它们共享大约90%的代码。业务领域是相同的,但是它们的UI有点不同。因此,它们将具有不同的CSS 您将如何管理代码库以共享需要它的代码?两种常用方法 将共享部件构造为Composer包 例如,所有应用程序级代码,例如路由器、依赖项管理、验证、域实体映射,都可以通过作为依赖项进行管理。如果代码不可开源,则可以使用私有repo作为依赖项 然后,您将为每个站点创建不同的repo,并使用Composer构建相同的部分,并且只对实际不同的部分进行编码。您可能有两台服务器,用于

我们正在尝试运行两个站点,它们共享大约90%的代码。业务领域是相同的,但是它们的UI有点不同。因此,它们将具有不同的CSS

您将如何管理代码库以共享需要它的代码?

两种常用方法

  • 将共享部件构造为Composer包
例如,所有应用程序级代码,例如路由器、依赖项管理、验证、域实体映射,都可以通过作为依赖项进行管理。如果代码不可开源,则可以使用私有repo作为依赖项

然后,您将为每个站点创建不同的repo,并使用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] 回购协议1 /应用程序 /viewSpecificToOne /公开的 /cssSpecificToOne /jsSpecificToOne index.php /卖主 /[通过composer安装的依赖项] 回购协议2 /应用程序 /VIEWSPECTIONTOTWO /公开的 /CSSSSpecificTo2 /JSSpecifictTotwo index.php /卖主 /[通过composer安装的依赖项]
  • 管理来自同一回购协议的所有站点
这与另一个解决方案很接近,但您会将不同的路由发送到不同的前端控制器,这些控制器将使用相同的域映射器、验证、路由器等,但有两个不同的视图层,这将具有特定的代码

这意味着服务器需要进行更多配置,以便为两个公共repo中的每个域提供服务

Repo /app /view1 /viewLogicSpecificToOne /view2 /viewLogicSpecificToTwo /public1 /cssSpecificToOne /jsSpecificToOne index.php /public2 /cssSpecificToTwo /jsSpecificToTwo index.php /lib /sharedPackages 回购 /应用程序 /视图1 /viewLogicSpecificToOne /视图2 /viewLogicSpecificToTwo /公共1 /cssSpecificToOne /jsSpecificToOne index.php /公众2 /CSSSSpecificTo2 /JSSpecifictTotwo index.php /解放党 /共享包
对不起,你把你的问题贴上了建筑的标签。如果一切都是一样的,但是UI,那么您有什么体系结构问题?比如如何
include()
相关的“共享”代码库?目前写的所有这些都是一个没有足够背景的问题…@亲密选民这听起来可能很宽泛,但实际上足够具体,可以回答。检查。有关的标签是不同的,但原理是完全相同的。共享代码是php生态系统的一个特别关注点。