简介web
Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快、性能高等特色。但Symfony2的学习曲线也比 较陡峭,没有经验的初学者每每须要一些练习才能掌握其特性。数据结构
本文经过一个快速开发寻人平台的实例向读者介绍 Symfony2框架的一些核心功能和特色。经过阅读本文,你能够经过一些具体的例子了解Symfony2框架的优秀特性和技术特色 ,从而体会到使用Symfony2框架支持快速网站开发这一优点。架构
适合人群composer
本文适用于但愿提升PHP语言的开发技术,或者对Symfony2框架有兴趣的读者。框架
本文也适用于系统架构师和各种技术决策者。工具
1.前言性能
在不久前的4月20日,中国四川省雅安地区发生了7.0级地震,累计受灾人数达到200多万。寻人平台在这 样的状况下可以起到很大的帮助,并且,寻人平台越早上线,实用价值就越高。学习
Symfony2能够用来支持大型网站的 建设,在中小型网站的快速搭建和开发上也有着很是好的支持。我借由此次撰文的机会,向你们具体地分享一下我是如何在 3个小时内基于Symfony2开发出来一套支持PFIF[^1]格式的网站寻人平台的,但愿读者可以对Symfony2的各个组件以及功能 产生一些了解。测试
[^1]: People Finder Interchange Format(wiki)是一个被普遍使用的开放的数据结构及标准, 灾难发生后能够用该标准在不一样的组织或网站间交换寻人信息,帮助失去联系的人找到彼此。网站
2.Bundle的使用
Symfony2框架以及相关社区最大的特色之一就是支持Bundle。什么是Bundle呢?简单来讲,Bundle就是一种“功能 ”的抽象。经过把一类具体的问题抽象成一个Bundle,能够把一个系统的逻辑进行切分:Bundle的开发者能够专一在某类问 题的解决上,而Bundle的使用者则能够把工做的重心放在本身的业务逻辑上。
在互联网开发领域,存在着大量能够 被抽象的功能。好比用户登陆系统,好比新闻评论,好比JS/CSS文件的压缩和合并等等。举个具体的例子,好比用户登陆系 统,大部分项目对于用户系统的需求其实都是差很少的,但每次要开发新产品的时候,都多多少少会去从新造一整个或一部 分用户系统的轮子。而一个专门用来负责管理用户系统的Bundle的出现则会减轻这些项目的开发压力,提升项目质量的同时 能够加快项目的总体开发速度。
Symfony2也支持Bundle。Symfony2的社区有大量由社区进行维护的Bundle,使用这 些开源的Bundle可让咱们的项目直接拥有那部分Bundle所提供的功能。
如下列举了本项目中用到的一些第三方 Bundle以及所对应负责的任务。
Bundle名 | 功能介绍 | 在项目中的职责 |
---|---|---|
MopaBootstrapBundle | 提供基于Bootstrap的页面结构和模板 | 提供页面的基本HTML架构,样式 |
NelmioApiDocBundle | 自动生成API的文档及接口测 试工具 | 生成API文档以及接口测试工具,并容许工程师及第三方调用者使用工具测试接口是否正常 |
JMSSerializerBundle | 对象进行序列化工具 | 在接口中,将Doctrine2生成出来的 Entity对象转换为Json格式 |
须要安装一个Bundle,一般只须要两步:
使用composer安装这些Bundle
对Symfony2进行配置,开启这些Bundle的支持而且作一些设置工做。
大部分Bundle经过以上两步就可以被集成进你的项目中,安装这些Bundle只须要修改一些配置文件而且运行一个系统命 令便可。
来源:http://www.bianceng.cn/webkf/PHP/201309/37273.htm