Posts Tagged ‘More with symfony 1.3 & 1.4’

More with symfony 1.3 & 1.4-day01

December 28th, 2009

介绍

作者 Fabien Potencier 翻译 逗派

在撰写本文的同时,symfony项目已经庆祝了一个重要里程碑:它的第四个生日。在短短的4年中,symfony框架已经发展成为全球最流行的PHP框架之一, 很多网站比如 Delicious, Yahoo BookmarksDaily Motion都在使用symfony。但是,随着最近一次symfony1.4版本的发布(2009年12月),我们即将结束一个周期(symfony1.x版本)。 这本书是结束这个周期最完美的方式,所以这将是最后一本你能阅读的由symfony项目团队发布的关于symfony 1.x版本的书。下一本书的主题最有可能是围绕在symfony2.0上,在2010年晚些时候发布

由于这个和其他许多我将在本章后面解释的原因,这本书对我们有说是非常特殊的。

为什么又一本书?

我们已经出版了两本关于symfony1.3和symfony1.4的书《symfony实践》 和 《symfony参考指南》. 前者是开始学习symfony框架的最好方式,它是根据一个实际项目一步一步的开发流程而编写的。后者是一本包含了几乎你每天开发时所需要查询的所有有关symfony配置的参考书。

《更多的symfony》是一本关于更多symfony高级主题的书。这不是第一本你该阅读的关于symfony的书,但是一本对已经有symfony项目开发经验的人非常有用的书。如果你想知道symfony底层是如何工作的,或者你想通过其他方法来扩展symfony以满足你特殊的需求,这本书就是为你写的。 《更多的symfony》是一本将你的symfony技巧提升一个档次的书。

因为这本书是各种主题的教程的集合,所以根据你要在框架中实现的功能来随意变换章节阅读顺序。

关于这本书

这是一本特殊的书因为它是一本由社区为社区写的一本书。 很多人对这本书有贡献:从作者到翻译,到校对员,这大量的努力使得这本书得以完成。

这本书至少同时用五种语言(英文,法语,意大利语,西班牙语和日语)发表. 如果没有我们翻译团队的慈善工作,这是不可能完成的。

由于开源精神这本书才得以实现,所以这本书的发行是基于开源协议的。 这一事实就改变了一切。这意味着写这本书的人没有人是支付报酬的:所有贡献者努力工作完成它只是因为他们想这么做。 每个人都想分享他们的知识,回馈给社区,帮助传播symfony,当然,也有一些乐趣在里面,同时也可以出名。

这本书由十个每天使用symfony的开发人员和项目经理完成。 他们对框架有深刻的理解,并试图在书本中分享他们的知识和经验。

致谢

在2009年8月,当我开始思考写另一本关于symfoy的书时,我马上有一个疯狂的想法:在两个月内完成并同时使用五种语言出版一本书会是怎样的情况!当然要让社区参与这么大的项目几乎是强制性的。我开始在日本的PHP会议讨论这个想法,经过几个小时努力,日本的翻译团队就准备工作了。这太惊人了! 从作者和翻译者来的反馈也是同样鼓舞人心,《更多的symfony》就由此诞生了。

我想感谢在编写这本书的过程以一种或其他多种方式参与进来的大家,这包括(不按照任何特定顺序):

Ryan Weaver, Geoffrey Bachelet, Hugo Hamon, Jonathan Wage, Thomas Rabaix, Fabrice Bernhard, Kris Wallsmith, Stefan Koopmanschap, Laurent Bonnet, Julien Madelin, Franck Bodiot, Javier Eguiluz, Nicolas Ricci, Fabrizio Pucci, Francesco Fullone, Massimiliano Arione, Daniel Londero, Xavier Briand, Guillaume Bretou, Akky Akimoto, Hidenori Goto, Hideki Suzuki, Katsuhiro Ogawa, Kousuke Ebihara, Masaki Kagaya, Masao Maeda, Shin Ohno, Tomohiro Mitsumune, and Yoshihiro Takahara.

在我们开始前

这本书是同时为symfony1.3和symfony1.4写的。为两个不同版本的软件写一本书是相当不寻常的。本节解释了两个版本间的最大不同点,以及如何为你的项目做最佳的选择。

symfony1.3和symfony1.4几乎是同时发布的(2009年底)。事实上,它们具有完全相同的功能 。 这两个版本间唯一的区别是对symfony老版本的兼容性支持。

如果你需要升级使用symfony老版本(1.o,1.1或者1.2)的项目,你应该选择symfony1.3。 它有一个向后兼容层,所有在symfony1.3中不推荐使用的功能仍然可用。这意味着升级容易,简单而且安全。

然而你如果现在开始一个新项目,你应该使用symfony1.4。这个版本和symfony1.3有完全相同的功能,但是所有不推荐使用的功能,包括整个向后兼容层,都已经删除。这个版本是清洁的,而且比symfony1.3快一点。 另一个使用symfony1.4的优点是它被支持的时间更长。 作为一个长期支持的版本,它将被symfony核心团队支持维护3年(至2012年11月)

当然你可以先将你的项目迁移到symfony1.3,然后慢慢的重构你的代码,删除不推荐使用的功能,最后升级到symfony1.4,以获得更长的symfony核心团队支持。你有足够的时间计划迁移工作,因为symfony1.3将被支持一年(至2010年11月)

由于这本书没有使用不推荐使用的功能,书中所有的例子都可以在两个版本上工作。