新项目:Ruby on Rails或Symfony2(或其他框架)

afx*_*jzs 9 frameworks ruby-on-rails symfony ruby-on-rails-3

我即将开始一个新项目,我想要使用哪种语言/框架.我是一名专业的PHP程序员,但这不是这个项目的规模.我玩过RoR,到目前为止我印象非常深刻.目前,两位领先的候选人是RoR和Symfony2.

我的主要话题是RoR: - 我不知道红宝石,或者我不知道.我可以读得很好,但写的代码卡住了. - 我已经读到有关它很慢的抱怨,而且在CLI上似乎很慢.

我与Symfony2的主要挂钩: - 几乎没有文档.Symfony1.x?确定..但不是symfony2 - 也没有什么支持.他们网站上的BB就像是80%的垃圾邮件. - 去安装在当地的开发环境中甚至无法运行(见我的第一次挂机)

这个项目相当复杂,超出了基本的CRUD操作.它不是一个超级严格的时间表,但有一个.里程碑1约3个月,基本上是日历,一些金融机构的东西(不是与金融机构的交易,只是个人理财组织类型的东西),以及项目经理/ cms.

此外,我愿意使用其他框架,但symfony2现在似乎是最好的.如果symfony2有RoR的支持/文档​​/教程/等,那将毫无疑问.

我真的很想听听stackoverflowverse对此事的看法.我对这个网站的答案/回复的质量不断印象深刻.

其他一些子问题(现在在我脑海中): - 如果你推荐一个不同的php框架,为什么? - 你提到的任何选项最大的抱怨是什么?

我知道CakePHP是最接近RoR的,但我一直在读这些模型有点不稳定(多对多关系等等).

现在,我倾向于RoR.简单地说,我真的想学习它,它可以完成这项工作.我只是不知道红宝石,我已经准备好了很多关于symfony2的好消息.

您可以提供的任何建议将不胜感激.谢谢!

Flu*_*key 22

就个人而言,我建议如果你开始一个新项目,这个项目恰好是你曾经做过的最大的项目,那么你应该坚持你最了解的.这恰好是PHP.

我使用过Ruby或Rails.事实上,我们公司的一些生产应用程序使用RoR.我学习RoR的最好方法是开展小项目.我永远不会考虑选择一种我不熟悉的编程语言,然后在其上学习一个新的框架来开始编写一个大项目.

至于Symfony2,我们几周前开始使用它.Symfony2是一个优秀的框架,看起来很有前途.它很干净,很好地分离和快速.但是,我们在Symfony2中遇到了太多的错误/头痛/不一致以继续使用它.一旦它成熟并且文档增长(许​​多文档现在已经过时),我们将再次开始研究它.希望他们能够发布某种Jobeet教程,但是对于Symfony2.

转到CakePHP.CakePHP代码库很旧.事实上,它在PHP 4.3.2上运行良好.它没有利用PHP5提供的所有优点(absract类,接口,私有和受保护的属性,异常,魔术方法,注释,通过引用传递对象等)CakePHPs数据库抽象层,虽然它有改进,一旦你的数据库结构变得太复杂(例如很多连接),它就不会非常有效.它崩溃得非常糟糕.

转到我用于许多大型项目的Symfony 1.4

我喜欢使用因为:

  1. PHP5
  2. 活动系统
  3. 依赖注入
  4. 缓存系统
  5. 表单(很好地集成到Doctrine 2中)实际上,这是我最喜欢的功能.
  6. 许多插件(例如用于用户管理的sfGuard)
  7. Twig(漂亮的模板语言)
  8. 高度可配置
  9. 可扩展(尽管没有Symfony2那么快)
  10. 很多文档(Jobeet教程很棒)

如果PHP目前是您的强项,您需要开始处理大型项目,然后开始使用基于PHP的框架,因为您知道语言语法和功能最好.

当你有一个小项目要做时,转移到RoR.

只需2美分.

祝你好运.

  • symfony 1.4并不过时.. symfony 2只是利用php 5.3中的新功能即命名空间.symfony 2虽然可能会在目前发布,但在成为一个成熟的开发平台之前,仍然可能会发生各种变化.如果你比较sf 1.x树并查看1.0和1.4之间的变化,请考虑sf2如何仍然只在2.0发布.Web框架只是解析和连接字符串的巧妙方法.过时的技术几乎不适用于Web框架,除非它们真的过时了.sf2没有做任何sf1不完全能力的事情. (2认同)

sol*_*arc 9

对我来说,Symfony2到目前为止一直很棒.与Symfony1.x相比,文档很少,但是在Sf2中开始起来要容易得多,而且事情非常明确,需要对内部框架的工作方式知之甚少.

有一个app/check.php脚本会警告你运行它所需的任何依赖,并且支持主要发生在他们非常活跃的邮件列表中(甚至不知道有BB).一些组件,如Twig,也有自己的列表.


Tro*_*ike 9

这是一个古老的话题,但事情有所改变,我会推荐Symfony2.他们目前的文档很棒(symfony.com),并且更容易为新手学习.我确实尝试过RoR但是使用symfony我更快地进入了它.