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