【问题标题】:Is there anything that PHP with CodeIgniter can do, which Ruby on Rails 3 can't do?有什么是 PHP 和 CodeIgniter 可以做的,而 Ruby on Rails 3 做不到的吗?
【发布时间】:2011-01-26 01:02:13
【问题描述】:

我和我的合作伙伴正在尝试开发一个网站,我们正在争论使用哪种语言来构建一个网站。我们都有一些使用 Codeigniter 1.6++ 和 RoR 的 PHP 经验,尽管我的伙伴在 RoR1 时使用过 Rails,现在是 RoR3。

他想将 PHP 与 CodeIgniter 一起使用,因为他更明确地知道发生了什么,而 RoR 似乎并不满足他。

我想使用 RoR 3,因为它花费的时间更少,而且我可以使用很多宝石(例如设计)。

他有点担心一旦网站变得越来越大,Ruby on Rails 将不容易更改数据库或代码中的某些配置。

我只是不想考虑在 2 个月内使用 Codeigniter 从头开始​​编写一行又一行代码。虽然我认为管理 db 表并不容易,但一旦事情在 Rails 中解决了。

所以,我一直在想.. 两者之间有什么大的优势吗?

【问题讨论】:

  • 我倾向于避免像瘟疫一样的PHP;它给用户带来了太多的安全数据库访问负担(魔术引号?!您看到多少网页带有 '' 或 \'\' 或其他愚蠢的东西?)或从不受信任的来源编码 HTML 以输出给用户。而且我在 php 脚本中修复了太多的注册全局错误以原谅该语言 - 没关系它已经被贬低了很多年。 PHP 开发团队要求 Linux 发行版供应商停止在安全更新中包含“解释器崩溃”错误,因为他们大约每周修复一个。不,先生,我对 PHP 没有好感。
  • 这条评论让我对使用php感到内疚
  • @sarnold:并不是所有的 PHP 都是坏的,大多数优秀的 PHP 开发人员不使用该语言的任何这些方面。一种语言不应该为白痴使用不当而负责,它已经改变,继续前进;过时的意见也应该被弃用。
  • @Orbling 确实,我学到的 C++ 已经不复存在了 :) 谢天谢地,PHP 团队已经弃用了他们最糟糕的暴行,但它真的在产品发货多年后,很难尝试强制进行良好的设计.. :)
  • @sarnold:没错,但与大多数语言一样,编写代码的质量更多地取决于用户群的技能,而不是语言本身。有些语言会吸引很多缺乏经验的学员,有些则倾向于吸引经验丰富的专业人士。 PHP 非常属于前一类,原因有很多,最值得注意的是,易用性(对于初学者;它非常宽容)和无处不在。

标签: php ruby-on-rails database codeigniter


【解决方案1】:

作为两者的狂热用户,我不会说这是一个框架更好或更差的问题,因为它们是苹果和橘子。

自 1.6.x 以来,CodeIgniter 没有太大变化,您的两种体验仍然有效,您将能够从一开始就编码。

Rails 3 很棒,但自 Rails 1 以来发生了很多变化(不是我当时使用它)。我认为您的伴侣将有太多时间摸不着头脑,除非您要在那里让他不断回答不可避免地会出现的 WTF。

解释一下,我是一名 CodeIgniter 人,并且已经工作多年了。它没有太多内容,没有约定,其中的代码简单,易于扩展,如果您不喜欢它也容易忽略。

最近开始使用 Rails 经历了一系列的高潮和低谷,但并不总是更快。我花了 2 个小时用 fb、twitter 等实现一个功能齐全的用户系统,并构建了我的大部分控制器,但从那以后我花了几个小时试图让各种日期格式与 ActiveRecord 很好地配合,或者试图覆盖 create_at,手动设置 id 和所有其他没有人提到过的事情是不允许你做的。

如果您需要快速抽出一些代码,那么 Rails 可能是一个选择。如果您想对所有内容进行细粒度控制并拥有一个非常轻量级的基础来构建您的应用程序,那么 CodeIgniter 确实是一个更好的选择。

或者,看看FuelPHP,这是一个框架,我和其他一些人正在努力将两者结合成一个配置优于约定的框架,并带有一个命令行实用程序,以引入一些 Rails 的最佳特性。节省大量代码,让您有宾至如归的感觉。

【讨论】:

  • 一个很好的答案。指出虽然一个中的一些硬位可能会在另一个中快速运行;一些简单的部分可能会变慢。好坏参半。
【解决方案2】:

你可以让大多数语言在一天结束时做大部分事情,只是需要多长时间。

希望您对自己的项目有足够的了解,了解可能存在的主要障碍,然后将它们与您的综合知识相匹配,以便在两种语言中解决它们。总体而言,你们俩都感觉更舒服的哪一个应该赢。您将能够做到这一点,只需熟悉和自信的语言(以及复杂任务的库的可用性)。

顺便说一句,这个问题在https://softwareengineering.stackexchange.com/上会更好

【讨论】:

  • 只是因为您的答案不是特定语言,所以问题是。我认为它就在 SO 上。
  • 我为我们的社区日益分裂感到遗憾。
【解决方案3】:

从管理的角度来看,我可以告诉你,如果你计划在未来成长,你将付出两倍的代价,并且不得不为 RoR 程序员寻找两倍的时间。另一方面,PHP 程序员很容易找到和雇用,因为该语言无处不在。我知道有一些公司被收购,他们的产品完全折叠,只是为了招募 Ruby 人才,因为它很难找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2016-01-24
    • 2011-02-02
    • 1970-01-01
    相关资源
    最近更新 更多