这是我的故事,排序很长 - 请耐心等我:)
我目前是这里唯一的程序员,没有太多的设计要做 - 但是。当我开始时,我们没有源代码控制, - 直接从“开发”服务器编辑的文件 - 使用rsync同步到生产服务器。
我没有太多经验做这种事情 - 这是我的第一份工作(我19岁) - 但是我已经设置了一些工作,但我不知道它是否可以在与coolaborating合作时轻松工作设计师和/或更多程序员。
我的IDE是Zend。 Project是SVN签出的项目。
当我需要进行更改时,我会这样做,保存并点击我的本地计算机,该计算机具有apache设置以从该项目中的那些文件中读取。大多数情况下,它们是Webservices或只是一个文件 - 而不是整个项目。
我开始使用另一个项目,要求我使用完整的域名(因为它需要解析子域名),所以我设置我的本地apache使用该域名,即使它没有指向我。使用foxyProxy并将http://*.domain.com和http://domain.com作为一个规则并将其指向127.0.0.1 - 这允许我使用www.domain.com但是命中dev机器(这是我的) 。
我提交更改,然后运行这种ghetto bash脚本,检出SVN代码并使用RSYNC同步到所有服务器。
好吧,很快我们就会让设计师与我合作。我的代码被拆分成一种View Controller系统 - 但我不使用任何php模板系统
我有一个在这家公司工作的伙伴。他们这样做的方式与我的方式有所不同。我认为他是如何完成的。
代码位于Z:\驱动器中 - 显然是网络共享(我不是100%肯定) 该项目使用该代码,当他保存某些东西时,他打开firefox并打开foxyproxy。它使用HTTP代理服务器进行配置。我认为它的工作方式是,HTTP服务器配置为使该公司开发的任何站点,进入bbbb(开发)IP而不是aaaa(生产) - 我希望我知道它是什么软件或者哪个代理软件可以做到这一点。
他使用JIRA并且jira有一个“提交”按钮 - 不熟悉它所以我不知道它是如何工作的。
令人困惑的部分是,当他进入网站时,据说有一个开发“下拉列表”,他可以从任何开发人员的变化中选择并查看他们的工作内容。
基本上,每个可以提交的人都有自己的环境 - 而不仅仅是一个环境。 **如何实现这样的事情,任何想法? **
他不知道它是如何运作的,因为他是那家公司的新人,但我希望他能快速学习!!
我的一些问题:
答案 0 :(得分:1)
您的开发和登台环境如何设置?。
每个开发人员都安装了本地XAMP。 SVN仓库中包含默认配置,默认虚拟主机,数据库模式等。使用rsync进行更新。但我不认为它是一种非常有效的发布管理方式,即使它非常灵活。 DNS的东西处理我们的DNS服务器(这是一个惊喜)。命名约定是:
example.local
example.org
设计师是否应该完全接受php代码,即使他们需要的只是“视图”?
如果您的所有视图脚本都在一条路径下,为什么不让设计师仅检查此路径?根据您管理仓库的方式,您可以设置非常具体的权限。
我们应该使用模板系统还是可以基本完成设计师及其HTML代码的工作?
恕我直言PHP是一个模板引擎,实际上没有必要使用另一个。如果设计师可以写%VARIABLE%
,他也可以写<?php echo $variable; ?>
。只要您必须在模板引擎中实现控制结构(for
,if
等),您就会有一定程度的复杂性,这与基本的PHP控件结构没有区别。如果你不能相信你的设计师,你需要一个新的...; - )
答案 1 :(得分:0)
“但我不使用任何php模板系统”......
PHP 是模板语言。它甚至被大多数HTML编辑器正确识别,因此如果您将大部分“工作”代码从“视图”文件中分离出来,那么任何非脑死亡设计师都应该能够正确使用它。或者至少将所有代码放在PHP代码的顶部,只留下oneliners混合到HTML中。
就个人而言,我只允许<?=$varname?>
之类的东西,像
<?php for $row in pickdata() { ?>
<tr>
<td><?=$row->field1?></td>
<td><?=$row->field2?></td>
</tr>
<?php } ?>
和一些<?php if (test()) {?>