# 2.1 Symfony 3
按照Symfony官方站點的[列表](http://symfony.com/components),SF3提供了如下構件:
* Asset: 管理URL的生成以及WEB部件(CSS,JS,圖片)的版本控制。
* BrowserKit:模擬一個WEB瀏覽器的行為。
* ClassLoader:只要你項目中的類符合PHP標準約定可以將其自動調入。
* Config:對配置值的操作
* Console:簡化優美且可測試的命令行界面的創建。
* CssSelector:將CSS選擇子轉化到XPath表達式。
* Debug:提供簡化PHP代碼調試的工具。
* DependencyInjection: 允許用戶標準化并集約化應用中對象創建的方式。
* DomCrawler:簡化HTML和XML文檔的DOM導航。
* EventDispatcher:實現了Mediator模式。
* ExpressionLanguage:提供引擎來編譯并估值一個表達式。
* FileSystem:提供文件系統的基本操作。
* Finder:提供一個直觀流暢的界面來找到文件和目錄。
* Form:創建、處理、復用HTML表單的工具。
* Guard:整合多重認證層。
* HttpFoundation:定義了HTTP規范的面向對象的層。
* HttpKernel:為創建可擴展和快速的基于HTTP的框架提供了基礎。
* Icu:該部件于2014年10月后失效,請改用Intl。
* Intl:如果intl擴展沒有安裝,則提供了一個候選庫。
* Ldap:基于PHP的LDAP擴展,提供了一個LDAP客戶端。
* Locale:該部件于SF2.3后失效,請改用Intl。
* OptionResolver:幫助用戶以選項數組來配置對象。
* Process:在子進程中執行命令。
* PropertyAccess:用一個簡化的字符串形式從對象、數組中讀取數據或者寫入數據。
* PropertyInfo:提取PHP類的屬性。
* Routing:將HTTP請求映射到一系列配置變量。
* Security:為復雜授權系統提供基礎。
* Serializer:將對象轉換成一個特定格式(XML,JSON,YAML等)或者反之。
* Stopwatch:提供代碼調式的方式。
* Templating:提供創建任意模板系統需要的工具。
* Translation:為應用的國際化提供工具。
* Validator:用來驗證一個類的工具。
* VarDumper:檢視一個任意PHP變量的工具。
* Yaml:對YAML文件的操作。
需要說明的是,這些構件不是SF3能使用的構件的全部,只是SF3框架本身提供的、可被第三方單獨使用的構件。SF還將借助其它第三方構件來建立起一個龐大的支撐系統,從而使開發者能在一個開放、統一的平臺上進行編程。
需要了解這些構件具體的功能和用法的話,可以參考SF官方文檔。
- 引言
- 1 LAMP
- 1.1 安裝虛擬機
- 1.2 安裝Vagrant
- 1.3 安裝Ubuntu
- 1.4 安裝Apache 2
- 1.5 安裝PHP
- 1.6 安裝MySQL服務器
- 1.7 最后的微調
- 1.8 設置一個虛擬主機
- 1.9 一個趁手的IDE
- 2 Symfony 3和重要構件
- 2.1 Symfony 3
- 2.2 Doctrine
- 2.3 Twig
- 2.4 Composer
- 3 Symfony重要概念
- 3.1 MVC
- 3.2 Bundle/包
- 3.3 Route/路由
- 3.4 Controller/控制器
- 3.5 Entity/實體
- 3.6 Repository/倉庫
- 3.7 Template/模板
- 3.8 Test/測試
- 4 藏書管理程序的結構
- 5 創建應用
- 5.1 建立版本管理
- 5.2 建立數據庫
- 5.3 應用結構
- 5.4 建立數據庫實體
- 5.5 樣本數據
- 5.6 路由
- 5.7 模板
- 5.8 開始編寫首頁
- 5.9 書籍詳情頁面
- 5.10 書籍列表頁面
- 5.11 書籍搜索
- 6 用戶和后臺
- 7 結語