3

我正在寻找一个像样的程序员,但似乎要学习的东西数不胜数。我知道当有人问哪个更好时,永远没有确定的答案,但我会尽量让我的问题更具体,希望得到更确定的答案。

我正在使用/使用 PHP 一年了。从最简单的例子开始,现在我在前端使用 CodeIgniter 和各种库/框架,我觉得我需要向前迈出一步,在我的例子中,我正在学习另一个 PHP 框架 - Symfony2,而且,因为我我现在和那里都在获得“软件技术”的硕士学位我大量使用 Java,我想尝试开始学习 Symfony2 和 Spring。在众多问题中,如何在不浪费时间的情况下实现这一目标,XML、YML 的使用是我认为在工作中获得优势的一种选择。

Java 很大程度上是 XML,据我所知,Java 中没有从 XML 中转义。但是在 Symfony2 中有一个选择,在那里使用 XML 非常诱人,所以我不需要再学习一件事,但是我看到的 Symfony2 的大多数示例都使用 YML,我不太确定跳过 yml并试图严格遵守 XML 不会背叛我。

我在 Spring 或 Symfony 中都没有经验,所以如果你同时学习它们,你会如何处理?两者都使用 XML,还是 Symfony2 使用 YML?

4

1 回答 1

7

作为一名 Symfony 开发人员,我正在赚钱,同时在 Spring MVC 中开发我的个人项目,所以,既然我已经看到了这两个世界,我想我有一些关于这个话题的分享。

我用 PHP 开发了 7 年,我知道 Java 作为一门语言也有 5 年了,但我开发我的第一个“真正的”Java 项目只有一两个月。最终,我想彻底抛弃 PHP,转而使用 Java 和/或其他 JVM 语言,如 Scala。

这是什么原因?好吧,不要误会我的意思,Symfony2 是一个很棒的框架,我真的很喜欢它。我相信它是目前最好的 PHP 框架。但是......它仍然是 PHP,你知道的。无论 PHP 框架多么出色,我都无法忍受 PHP 作为一门语言太久。你问 PHP 有什么问题?有一篇很棒的文章准确地解释了我长期以来对它的感受(至少阅读类比部分)。

而且由于我更喜欢​​静态绑定和强类型,因此我也更喜欢 Java。与最好的 PHP IDE 相比,Java IDE 的功能真是太棒了。我认为我正在为这些语言使用最好的 IDE——IDEA(带有 PHP 插件)或 PhpStorm——Java 支持好得多,这让我想跳舞。

我并不是说 Java 是最伟大的语言,但它是对 PHP 的巨大改进。我认为 Scala 非常有前途,但由于它的基础设施/生态系统对我来说还不够成熟——与那些自己破解语言和开发框架的人相比,我是一个喜欢完成最终用户项目的务实主义者——我将继续使用 Java目前。

所以,对我来说,它归结为语言、社区和生态系统。虽然 PHP 社区有一些优秀的开发人员,我喜欢在 IRC 或其他地方与他们交谈,但 Java 社区有很多很多很棒的开发人员为更大的 Java 生态系统开发了很多很多很棒的东西。

除了这三件事之外,我可以补充一点,Symfony 更容易学习——它的书和食谱都很棒而且非常中肯,而我必须在大量书籍、博客及其大量文档中寻找大量关于 Spring 的信息.

说到 YML 和 XML,你可以只用 XML 来做一个 Symfony 项目,你可以完全或几乎完全不用 XML 来做一个 Spring 项目——尤其是从 3.1 版开始。我在我的 Symfony 项目中使用 YML,但在我共享的包中使用 XML 。

并且由于 Symfony DIC 和 security 基于 Spring 和 Spring Security,而 Doctrine 基于 JPA,学习其中一个框架的习语,你会学到很多关于另一个框架的知识。我真正缺少的是 Spring MVC 世界中的 Twig 类比——JSP 完成了工作,但它并不是那么好。我知道 Spring MVC 集成了其他视图技术,但在我看来,JSP 似乎是最受认可的一种。

于 2012-05-22T10:07:29.117 回答