将Rails引入PHP商店?或者建立我们已经使用的东西?

jmc*_*tie 12 php frameworks ruby-on-rails kohana

这是我们商店的设置:

  • 1非常大的PHP应用程序(Kohana 2),有许多开发人员和许多基础设施
  • 多个(4-5和不断增长的)小型PHP应用程序,1-2个开发人员正在研究这些应用程序

问题:

  • 没有测试
  • 没有文件
  • 一个脆弱而乏味的部署过程

我正在从单个大型应用程序移动到具有多个较小应用程序的房子的一侧.在我们的商店中缺乏测试和适当的部署过程让我感到紧张,我将花费更多的时间修复错误和部署修复程序而不是实际编写新功能的代码.

解决方案A:

  • 介绍PHPUnit和Selenium
  • 把我们移到Phing和Dbdeploy

问题A: 设置PHPUnit相对容易,但使用Selenium进行功能测试一直很痛苦.我们的虚拟机工作非常适合开发人员,但Selenium紧紧抓住针头,加上一些简单的测试需要永远.我不怀疑我能让所有这些技术很好地融合在一起,但这一切看起来都很混乱,而且这些技术的复杂性似乎很脆弱.

解决方案B:

  • 切换到Rails
  • 使用综合测试和/或Rspec/Cucumber(后者的集成似乎很简单)
  • 使用集成的数据库迁移
  • 使用Capistrano进行部署

基于测试的主要问题,我开始研究Rails.根据我们管理的其他网站的性质,我认为Rails可能是一个很好的解决方案.内置测试,优秀的社区,许多出色的工具和快速的开发.

问题B: 我们现在拥有的每个应用程序都在Kohana 2(PHP框架)上,组织中没有人知道Rails.引入新技术的缺点是会破坏团队.如果我将网站迁移到Rails,然后被公共汽车击中,我们就有点搞砸了.

底线:

基于我们的痛点(部署,测试,文档,数据库迁移),切换到Rails是否值得花费?或者我们应该留在Kohana并继续尝试并建立其他工具?

有什么建议?有人经历过类似的事吗?管理层已经告诉我,他们愿意听取有关Rails的意见,并且只是想尽可能使用最好的工具 - 不管是什么.但是,如果我决定在我们较小的项目上切换框架,那么我们的首席架构师需要一些说服力.

mik*_*ing 9

我想你可能会得到很多不同的答案,具体取决于我们的开发人员类型.

就个人而言,我认为你应该坚持PHP,但转移到Kohana 3.然后介绍更好的管理和开发技术(文档,测试等).只是我的意见,不是真正的解决方案.


Con*_*ode 6

有很多因素会影响您的决定.

如果您切换到rails,请记住,您和您的团队需要一段时间才能学习框架/语言,并且很快就会减慢添加功能的速度.这实际上取决于你的团队,时间限制和许多其他因素.

也许尝试一下带有rails的小项目,看看你和你的团队是否真的喜欢rails(我不喜欢).

每个团队的答案都不同.我会举行小组会议,讨论两个决定的利弊.然后投票.


sha*_*and 5

移动到Rails(或任何其他语言)可能会花费你很多,至少有以下一种方式:

  1. 时间投入.您的整个团队必须学习Rails,同时继续使用PHP.
  2. 服务器成本.您将需要一组单独的Rails和PHP服务器.
  3. 人力成本.您的某些团队可能不想切换,您将不得不雇用新人.

我的建议是你查看phpUnderControl并开始评论你的代码.您不必编写成堆的文档,但要确保每个方法都有注释.

最后,我完全有偏见的意见是你应该试试Kohana 3.即使您无法迁移现有应用,也可以为您节省一些新应用的挫败感.