我偶然发现了以下问题,无法找到合适的解决方案。我用 PHP 为各种客户制作网站。像所有客户一样,有些人会发现需要修复的错误,有些人会在几个月后请求更新实时站点,有些人会两者兼而有之。
在为客户处理更新时,我喜欢在发布之前向客户预览它们。
过去我使用了几种不同的解决方案,但没有一个让我满意。到目前为止我所做的:
- 在索引中定义
VERSION
s 和。CURRENT_VERSION
参观者看到批准的版本。我向客户发送一个设置变量的特定链接,$_SESSION
让他们看到新版本。在代码中,我使用 if 和 switch 来根据CURRENT_VERSION
. 这很有效,将所有代码保存在一个地方,并且可以轻松地进行错误修复,但会使代码充满愚蠢的if(CURRENT_VERSION >= V2)
语句。我也不能在 CSS 文件中使用它。 - 将所有文件放在“build1”文件夹中,当开始需要预览的大更新时,我将所有文件复制到“build2”文件夹中。我为客户端上传“build2”文件夹并用密码保护它。这工作得很好,但是,如果我必须在处理 build2 时修复 build1,我必须确保将修复从 build1 复制到 build2。
- 使用开发服务器(一些客户端可以提供)这是迄今为止效果最好的,因为开发服务器与实时站点是分开的。它的工作原理与第二个解决方案非常相似,我必须制作项目的副本,但对我来说感觉更干净。
然而,我正在寻找一种更好的方法来管理我的代码,可能使用 Git/SVN,但如果他们能帮助我,我对这些事情的了解不够。