首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails或PHP框架

Rails或PHP框架
EN

Stack Overflow用户
提问于 2009-05-12 21:45:57
回答 19查看 5K关注 0票数 7

我是一个有能力的程序员,我以软件为生。我正在着手一个新的项目,以建立一个网站,其中有许多形式,执行CRUD操作的数据库和一些多媒体。我非常熟悉PHP和Python,并在其中编写了一些网站。我写了一些rake任务和一些红宝石脚本,在生产中运行,但我从来没有写任何网站的红宝石。我正在考虑使用Rails,但我有以下问题。很高兴知道所有这些问题的答案:

  • 这个项目应该在一个月内完成,而且时间非常敏感。一个月足够用RoR学习和建立一个网站吗?
  • 编写直接SQL查询是我的优势之一,我想使用它。我听说,如果我直接编写RoR查询,那么使用它是很痛苦的。这是真的吗?或者我可以说执行一个查询,给我结果(作为一个列表或字典),然后我将告诉您如何呈现它们?
  • 我听说RoR确实加入了内存,并且不使用数据库提供的工具。这是正确的吗?
  • 我需要创建一个网站,显示大量的图片,视频和Java小程序。RoR会妨碍我做这件事吗?
  • 我可以使用PHP框架。这主意不好吗?如果不是,在编程方便性方面,哪个PHP框架最接近Rails。
EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2009-05-12 22:03:20

按顺序回答你的问题:

  1. 你当然可以在那个时候学习Rails。构建一个网站也是足够的时间,但是否有足够的时间来构建您的网站是一个不同的问题。我个人不想在一个紧迫的期限内尝试这样的事情。
  2. 您可以编写自己的SQL查询,但是如果要处理Rails的所有功能,那么使用Rails就没有什么意义了。
  3. 联接通常是作为ActiveRecord生成的数据库查询的一部分完成的。
  4. 使用ROR与页面上的图像、视频等几乎是正交的。
  5. 我还没有使用过它,但是CakePHP的目标是变得很有活力。Zend和CodeIgniter更受欢迎,但是使用过这三种技术的人告诉我更好的方法。
票数 16
EN

Stack Overflow用户

发布于 2009-05-12 22:00:49

这个项目应该在一个月内完成,而且时间非常敏感。一个月足够用RoR学习和建立一个网站吗?

根据你描述的经验,我想象一个月来学习和构建一个简单的应用程序(尤其是基于CRUD的应用程序)就足够了。如果有一个高度的复杂性,我将不愿意学习一项新的技术,并交付一个复杂的网站在一个月。

编写直接SQL查询是我的优势之一,我想使用它。我听说,如果我直接编写RoR查询,那么使用它是很痛苦的。这是真的吗?或者我可以说执行一个查询,给我结果(作为一个列表或字典),然后我将告诉您如何呈现它们?

rails的方法是使用它提供给您的ActiveRecord对象映射(而且大部分工作非常好)--如果您想要这样做的话,编写直接SQL也非常容易。

代码语言:javascript
复制
ModelName.find_by_sql('your query')

你是怎么做到的

我听说RoR确实加入了内存,并且不使用数据库提供的工具。这是对的吗?

ActiveRecord为您做了很多事情,但是无论性能如何,如上面所示,您可以编写自己的SQL来利用数据库的优势。

我需要创建一个网站,显示大量的图片,视频和Java小程序。RoR会妨碍我做这件事吗?

我不明白为什么要这么做。有很多宝石和插件可以帮助实现这种功能,所以很可能已经为您编写了大量的代码。

我可以使用PHP框架。这主意不好吗?如果不是,在编程方便性方面,哪个PHP框架最接近Rails。

我会让PHP专家回答这个问题。

票数 6
EN

Stack Overflow用户

发布于 2009-05-12 22:52:02

  • 这个项目应该在一个月内完成,而且时间非常敏感。一个月足够用RoR学习和建立一个网站吗?

如果时间紧迫,就坚持你所知道的.也就是说,Rails有很多插件可以处理像图像上传这样的事情,这可能会为您节省很多时间。Rails有“脚手架生成器”,它在一个命令中创建基本的CRUD应用程序:

代码语言:javascript
复制
./script/generate scaffold title:text description:text when:datetime

..will生成控制器/视图以创建/编辑/删除项。然后,您可以轻松地将外观更好看的HTML包装起来,添加身份验证(通过身份验证),您可以在几个小时内完成您的应用程序。

  • 编写直接SQL查询是我的优势之一,我想使用它。我听说,如果我直接编写RoR查询,那么使用它是很痛苦的。这是真的吗?或者我可以说执行一个查询,给我结果(作为一个列表或字典),然后我将告诉您如何呈现它们?

很少有需要使用ActiveRecord编写SQL的情况,但您可以。RoR仍然是Ruby代码,所以您可以始终使用MySQL库,如果您的确实需要编写原始的(但是,您几乎肯定不需要),则可以取消对的使用。

  • 我听说RoR确实加入了内存,并且不使用数据库提供的工具。这是正确的吗?

ActiveRecord没有理由不能通过SQL查询执行联接,ActiveRecord::Association::ClassMethods提到了通过联接执行的关联。

此外,即使它确实通过内存连接,它仍然工作得很好,因为不管Rails有多长。

  • 我需要创建一个网站,显示大量的图片,视频和Java小程序。RoR会妨碍我做这件事吗?

不是的。它们都只是HTML的一部分,Rails可以像任何其他框架一样轻松地输出这些HTML。

  • 我可以使用PHP框架。这主意不好吗?如果不是,在编程方便性方面,哪个PHP框架最接近Rails。

绝对一点儿没错。如果您不使用Rails,请使用PHP框架!

我建议不要选择一个基于“与Rails有多近”的框架。PHP不是Ruby。试图“移植”(以某种方式)将框架移植到另一种语言,很少能像为该语言编写框架一样有效。

正如我对查克的回答所评论的,"CodeIgniter和Zend是很好的PHP框架。CakePHP是一个很好的Rails仿制品“。

我发现CodeIgniter感觉更像PHP (用一种很好的方式),它的文档也是我使用过的任何项目中我最喜欢的!

是非常模块化的,您可以将Zend的一些代码放到现有的PHP应用程序中,或者使用它的MVC路由系统。

CakePHP似乎试图让PHP表现得像Ruby,而不是创建一个与PHP很好地匹配的框架。

也就是说,使用Rails的原因是社区(以及围绕它运行的所有插件和东西)。

例如,回形针插件使得图像上传表单(以及拇指钉)变得非常容易。要使用它,您可以添加(到模型中):

代码语言:javascript
复制
has_attached_file :photo, :styles => {:thumb=> "100x100#", :small  => "150x150>" }

然后,在您的视图中,在您希望上传表单的位置添加:

代码语言:javascript
复制
<% form_for :user, :html => { :multipart => true } do |f| %>
  <%= f.file_field :photo%>
<% end %>

就这样。

我建议的是花一天时间在Rails中做一些简单的事情。有无数伟大的教程(铁道是一个好的,随机的,例子)和大量的书籍。看看您是否喜欢它,如果不尝试CodeIgniter,Zend或CakePHP (或Django,或Merb,或.)只是不要花整整一个月的时间来尝试框架!)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/855027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档