使用Symfony 2在三小時內開發一個尋人平臺

簡介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

相關文章
相關標籤/搜索