程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 使用Symfony 2在三小時內開發一個尋人平台

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

編輯:PHP綜合

簡介

Symfony2是一個基於PHP語言的Web開發框架,有著開發速度快、性能高等特點。但Symfony2的學習曲線也比 較陡峭,沒有經驗的初學者往往需要一些練習才能掌握其特性。

本文通過一個快速開發尋人平台的實例向讀者介紹 Symfony2框架的一些核心功能和特點。通過閱讀本文,你可以通過一些具體的例子了解Symfony2框架的優秀特性和技術特點 ,從而體會到使用Symfony2框架支持快速網站開發這一優勢。

適合人群

本文適用於希望提高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只需要修改一些配置文件並且運行一個系統命 令即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved