对于PHP开发人员来说,Rails难以理解吗?

时间:2009-11-11 23:36:10

标签: php ruby-on-rails ruby

我对ruby一无所知,但对php有很多了解。

当你在ror中编码时...如果你是初学者,你真的明白表面下发生了什么吗?你是否必须了解它,或者仅仅足够了解是否能够快速建立一些东西?

寻找过渡过的人的经验。

13 个答案:

答案 0 :(得分:8)

IMO已经从C#转到Ruby on Rails回到C#,你可以通过简单的应用程序来完全满足Rails的“意见”而不知道发生了什么。但是,如果你必须做一些不是简单的CRUD任务或者需要以不同于普通呈现表单的方式实现CRUD任务,用户点击帖子,基本的脚手架创建控制器,你将遇到障碍行动方式。一旦你达到这个目标,你就需要了解更多Ruby本身,以确切了解Rails正在做什么。

答案 1 :(得分:6)

像大多数事情一样,一旦你完全理解了某些东西,你就会向下看一小步,记住你第一次抬头看到的那座山。我想说,对于大多数开发人员来说Ruby很难理解,原因如下:

  • Ruby有一些非常强大但不太常见的编程概念。所以有一些概念性的学习。
  • 除此之外,我遇到的大多数程序员都有一些经验,他们已经建立了关于编程是什么的基础和概念,除了这些概念是使用他们在其中工作的特定语言或领域的构造构建的。

我能给出的最佳建议是每个语言/框架/开发环境仅提供一种方式来操纵机器/网络的各个方面。错误是认为这个是唯一的方法。如果你接近Ruby思考,这与PHP有什么关系,那么期望挣扎,因为在很多情况下,就在表面之下,它不会。

一个具体的例子是:

  • 我的'for'循环在哪里? et struggle vous

但是如果你问

  • 如何为此数组的每个元素运行此代码?你会发现许多精彩的答案,并想知道为什么你首先有一个for循环。但请记住,现在有比Ruby更好的方法了!

因此,使用Ruby和rails框架中的所有功能,您应该花一些时间来学习基础知识。是的,你可以用铁杆之类的东西来创造奇迹,知识非常有限。想象一下,你可以用几年坚实的红宝石学习做些什么。

Peter Norvig撰写了一篇非常好的论文,名为十年内自学编程。我建议你去看看。

答案 2 :(得分:5)

我还建议选择The Ruby Programming Language的副本。对我来说,它是ruby的php.net。

答案 3 :(得分:4)

作为一名PHP开发人员已有几年了,并且来自C和C ++背景,我可以告诉你,在PHP之后学习Ruby并不是很难(主观,但问题也是如此)。当然,Ruby有自己的成语和“最佳实践”,它们与PHP不同,但我认为你会觉得Ruby很有趣,也很容易学习。 PHP中的许多“陷阱”都不存在于Ruby中,因此它使学习语言变得更容易。另外,如果您有任何OOP背景,那么在理解Ruby方面你会好得多。

正如其他人所指出的那样,你可以很快地使用Ruby on Rails构建简单的应用程序,但是如果你需要做任何繁重的工作,你将不得不开始了解底层的内容以及Rails的运行方式。这与PHP及其各种框架之一没有什么不同,例如CakePHP或CodeIgniter。

如果您有兴趣学习RoR,我还建议您查看书籍Rails for PHP Developers

答案 4 :(得分:3)

如果您选择“使用Rails进行敏捷Web开发”,那就没问题了 - http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition

答案 5 :(得分:3)

要回答您的基本问题,就像所有事情一样,您将尽可能多地学习。你需要了解幕后发生了什么,没有。您是否需要了解ExpressionEngine如何使用它来创建网站?

至于学习Ruby,强烈建议这样做。除了琐碎的网站之外的任何东西都需要你了解和理解Ruby及其成语。

我认为从php到Rails的最大问题是开发方法。在视图中使用全部或大量逻辑创建了太多的PHP。使用模型中存在的所有逻辑创建Rails应用程序。如果您理解这一点,那么您已经了解Rails还有很长的路要走。

至于资源方面,我建议大卫·布莱克获取这本书Ruby for Rails: Ruby Techniques for Rails Developers。它旨在将您从Rails开发人员转变为Ruby开发人员。

为上面列出的所有其他资源+1。

答案 6 :(得分:1)

拿到这本书(给爱丽丝+1)。另请查看http://railscasts.com/

答案 7 :(得分:1)

Ruby可能很难,使用Rails编写Ruby很容易!语言很自然,阅读非常好。部署Rails应用程序是(IMO)面临的挑战所在。如果你很了解PHP,你就没问题,特别是当你有一本像Rails for PHP Developers

这样的书时

答案 8 :(得分:1)

哦,是的,当你专门讨论rails时,Rails Guides有一套最新,最宏伟的资源。除了这里的许多答案中有很多很棒的建议。

答案 9 :(得分:0)

按顺序提问 -

这些天我理解框架内部发生的一些事情 - 当我开始使用Rails时,并没有完全正确的事情(尽管我几年前一直在研究Ruby)

您不必了解Rails,但实际上,确实有助于理解MVC(模型 - 视图 - 控制器)模式。你可以很快地获得很长的路要走,但与大多数事情一样,制作高质量的东西需要付出艰苦的努力。

Ruby和PHP之间的哲学在语言(IMO)方面存在很大差异。 Ruby在语法上更加一致,但其强大的OO背景意味着谈判有一个非平凡的学习曲线。我认为值得,YMMV,为什么不把它用于试驾?

答案 10 :(得分:0)

编程Ruby书是必不可少的。您需要对Ruby有一个合理的理解才能在Rails中编写应用程序,否则您将在一天中的大部分时间都在墙上。我还建议您查看GitHub上的其他Rails项目,以便更好地了解事情是如何完成的,最佳实践等。

然后当您遇到困难时,请在Stack Overflow上发布您的具体问题,我们将随时为您提供帮助:)

答案 11 :(得分:0)

引用你

  

...当您在ror中编码时...如果您是初学者,您是否真的了解表面下发生了什么?

PHP和RoR是无与伦比的。 Ruby本身是一种编程语言,其语法与PHP和其他语言一样,但Ruby on Rail是一个使用MVC架构的应用程序框架,它本身比编写的语言复杂得多。

如果您熟悉任何PHP MVC框架,例如CakePHP,CodeIgniter或Zend Framework,那么您尝试计算语法差异时应该没有太大困难,因为它们(MVC框架的变体)都是基本相似的。< / p>

答案 12 :(得分:0)

我从PHP到Ruby,并没有那么困难。我建议玩Rails,了解Ruby的编写方式。然后,一旦你真正开始构建真实的东西,你将不得不深入了解Ruby以了解如何让事情变得更好。学习Ruby本身并不是很困难,它被认为是非常易读和可理解的。但是,确保您了解其中一些最重要的功能(如块和元编程)非常重要。

对我来说,真正让我看到Ruby的一件事就是当我第一次了解块时。从那以后一切都很美好。)。