微信号:infoqchina

介绍:有内容的技术社区媒体

如何提高网站响应速度?不妨试试Symfony2

2013-04-18 16:20 InfoQ

Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快、性能高等特点。但Symfony2的学习曲线也比较陡峭,没有经验的初学者往往需要一些练习才能掌握其特性。相对其他框架,Symfony2比较吸引人的特点有:

  1. 支持DI(Dependency Injection,依赖注入)IoC(Inversion of control)。

  2. 高性能。

  3. 扩展性强。

  4. 文档成熟、拥有成熟的社区支持。

调试和优化程序的最基本前提就是:你得知道你的程序在干什么。这句话虽然说得轻巧,但在许多框架面前却很难做到。这些框架在各种高新技术的封装下,代码和程序逻辑也变得十分复杂和臃肿,想要得知你所使用的框架背后到底做了哪些具体的事情、或者想获取程序运行的堆栈和调用信息、以及MySQL/NoSQL/MessageQueue……这些服务的调用和执行情况等等,都是不太容易的。而在没有这些信息支持的情况下,想去对后端程序做调试和优化几乎是不可能的。


而获取这些信息以便进行开发和优化对于Symfony2来说却非常容易,原因有三个:

  1. Symfony2有一个调试工具栏,能够在每一个页面打开时,在页面的最下方显示该页的程序调试信息,甚至能够从中直接找出导致页面响应速度缓慢的瓶颈。

  2. 高效且合理的框架设计使得Symfony2框架内的每个模块都不互相耦合,每个模块都有自己的职责,可以单独为其执行测试用例而不依托其他模块。每个模块也都会像一个独立的软件一样有其自己的版本发布周期,有的模块甚至拥有独立的维护团队。这样的设计让Symfony2取得了复杂性和扩展性之间的平衡,也完成了架构上的解耦,从而直接在架构层面降低了整个框架的复杂度。所以对于开发者来说,不论是开发新功能,还是优化现有程序,都会觉得非常方便和高效。

  3. 日志记录功能把框架在执行时的全过程都完完全全记录在了日志中,你唯一需要担心的就是及时清理日志以免磁盘空间占用过大。

在国内,由于框架辈出,甚至有几年开发经验的工程师甚至都会自己做一个框架,社区和业界也缺少一个公认的答案和方向:工程师都在打一枪换一个地方,而各大公司和团队都在重复制造各种不同样子的轮子,整个业界的风气也变得异常浮躁,以至于许多人索性放弃了对完美的追求,直接承认了他们做的事情就是“quick and dirty“的。


我并不指望能够改变你的想法,但如果你也有一些相同的感悟,那么请尝试一下Symfony2,它将帮助你重新找回信心。


点击“阅读原文”查看更多内容并吐槽吧。

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 RestQL:现代化的 API 开发方式 【R每日一贴】R几个概念(一)? 22个脑洞大开的创意网站布局设计欣赏 python编程规范 苹果三星诺基亚等多部手机像素不符标准