我正在使用PHP + Codeigniter构建一个相当大的Web应用程序。当我第一次开始这个项目时,我对PHP-as-a-service的托管服务提供商PHPFog产品感到兴奋。简单地开发我的应用程序而不必担心服务器维护,设置,安全等等的想法吸引了我。
但是,我对PHPFog有太多问题,因为托管我的应用程序很容易相信它。我遇到过这样的情况,我从我的git存储库中删除了一个文件,将它推送到我在phpfog的远程仓库,然后在我的一个或所有应用程序服务器上实际上没有删除该文件。该服务还应该为应用程序监控提供newrelic,但这只是简单地工作,自8月10日以来一直没有工作,尽管有很多抱怨。他们的客户服务在解决所有这些问题方面远非令人满意。
所以现在我正在考虑替代方案,Heroku引起了我的注意。 Heroku似乎是一个更加成熟的云应用程序平台。但它不提供PHP主机。相反,它提供ROR,Java,Node.js和Clojure。
有很多PHP(和Codeigniter框架)经验的人学习Ruby + Rails并重建应用程序有多难?两者都组织MVC模式中的代码,所以我希望这意味着我的视图只需要修改它们的钩子来匹配ruby的语法。我已经设计了我的数据库和所有SQL查询来访问CI中我的模型所需的数据。你们觉得怎么样?
编辑1: 所以我看过这个视频作为ROR开发的介绍: http://www.youtube.com/watch?v=Gzj723LkRJY
我最初的反应是'所以ROR就像一本着色书?'当我看到一大堆应用程序通过一些简单的“脚手架”聚集在一起时,我持怀疑态度。我不知道该怎么想除了我害怕ROR牺牲了我习惯用php的一些粒度/控件
编辑2: 我最近发现https://cloudcontrol.com/他们似乎提供了与PHPFog提供的PHP-as-a-service相同类型的托管,但具有更多控制权,例如直接访问数据库和自动扩展的能力。仍然是git-push的一个好主意,可以部署到多个服务器而无需手动设置它们。我唯一不喜欢的是他们的数据中心位于爱尔兰(亚马逊AWS)。然而,他们告诉我他们计划在未来3个月内搬到美国并提供美元定价。
答案 0 :(得分:3)
虽然是的,但它们都是MVC,是的,Ruby和PHP都是脚本语言,是的,除了将php挂钩更改为ruby hook之外,你不应该对你的视图进行太多修改,我认为如果你认为你是在愚弄自己这只是一个简单的转换。
Ruby作为一种语言,IMO远远优于PHP。它允许您使用更少的代码完成更多工作。如果您要将PHP代码转换为Ruby代码,方法是将每个调用替换为等效代码,那么就不会采用 Ruby 方式。
最重要的是,作为框架的Rails比CodeIgniter更加成熟和强大。它将为您提供更大的灵活性和基于约定的帮助,您将使用与使用CI时不同的方式进行编码。
除此之外,您还希望将ActiveRecord用作ORM并编写数据库迁移来创建数据库,因此您编写的所有SQL脚本都将毫无用处。
如果您决定将应用程序移植到RoR是可行的方法,那么我全心全意地鼓励您花些时间学习Ruby和Rails,然后重写您的应用程序,就像您从头开始使用Rails应用程序一样。你会惊讶于你能够多快地启动和运行项目。
答案 1 :(得分:1)
答案 2 :(得分:1)
在此问题变成典型的Ruby vs PHP
讨论之前,在您开始(几乎)不可能的任务之前,您应该考虑其他托管服务提供商。有许多可供选择,其中一些人提供您正在寻找的“PHP即服务”。
请注意将PHP应用程序移植到ROR或Ruby并不是一件容易的事。你也可以重新开始(毫无疑问,你会用一种你知之甚少的语言)。您不应该将您的编程语言建立在糟糕的托管体验或那个家伙所说的基础之上。用你喜欢的东西。