# 前言

PhalApi是一個PHP輕量級開源接口框架,**助你創造價值**!我們不斷更新,保持生氣;為接口負責,為開源負責!并承諾永久免費!
PhalApi官網請見:[www.phalapi.net](https://www.phalapi.net/)。
## 什么是PhalApi 2.x?
PhalApi,簡稱π框架,是一個PHP輕量級開源接口框架,專注于接口開發,致力讓接口開發更簡單。它:
+ 致力于快速、穩定、持續交付有價值的接口服務
+ 關注于測試驅動開發、領域驅動設計、極限編程、敏捷開發
+ 有眾多的擴展類庫,與更多開源項目一起提供高效便捷的解決方案
+ 支持HTTP、SOAP和RPC協議,可用于快速搭建微服務、RESTful接口或Web Services
PhalApi現存有兩大系列版本。分別是經典的第一代版本,即1.x系列版本,主要是使用了較為古老傳統的做法;以及全新的第二代版本,即2.x系列版本,主要區別是:
+ 使用了[composer](https://getcomposer.org/)統一管理依賴包
+ 引入了命名空間
+ 遵循[PSR-4](http://www.php-fig.org/)規范
> 溫馨提示:在本開發文檔中,若未特別標明,PhalApi指PhalApi 1.x 版本和PhalApi 2.x 版本。
## PhalApi有哪些特點?
PhalApi是一個很酷的開源框架,對它越了解,越能發現它的炫酷所在。以下是部分關鍵的特性。
### 特點1:學習成本低
PhalApi始終堅持KISS原則,并遵循Unix哲學中的最小立異原則。除了遵循國際慣例,采用約定俗成的做法,PhalApi還在設計時優先考慮大家所熟悉的方案。例如,接口返回結果格式便是路人皆知的JSON格式。對于剛接觸PHP編程語言的初級開發同學,甚至是之前未曾接觸過PHP的客戶端開發同學,根據以往的學習經驗,大部分情況下,可以在一周內完成PhalApi框架的基礎學習,并投入到實際項目開發中。
### 特點2:自動生成的在線接口文檔
按框架指定的格式完成接口代碼編寫后,PhalApi會自動生成在線接口列表文檔和在線接口詳情文檔,以方便客戶端實時查看最新的接口簽名和返回字段。
自動生成的在線文檔主要有兩類:
+ 在線接口列表文檔

+ 在線接口詳情文檔

### 特點3:眾多可重用的擴展類庫
PhalApi框架擴展類庫,是各自獨立,可重用的組件或類庫,可以直接集成到PhalApi開發項目,從而讓項目開發人員感受搭建積木般的編程樂趣,降低開發成本。
目前,已經提供的擴展類庫有40+個,包括:微信公眾號開發擴展、微信小程序開發擴展、支付擴展、上傳擴展、Excel表格和Word文檔擴展等。
> 溫馨提示:部分擴展類庫需要調整移植到PhalApi 2.x風格方能使用。
### 特點4:活躍的開源社區
PhalApi不是“我們”的框架,而是我們大家每個人的開源框架。PhalApi開源社區非常活躍,除了有1000+人的實時交流群,還有自主搭建的[問答社區](http://qa.phalapi.net/),以及近百名參與貢獻的同學。
PhalApi 2.x的學習資料目前還在陸續補充中,但依然可以參考PhalApi 1.x 版本系列豐富的學習資料,有:[開發文檔](https://www.phalapi.net/wikis/)、[視頻教程](https://www.phalapi.net/wikis/8-1.html)、[《初識PhalApi》免費電子書](http://www.ituring.com.cn/book/2405)、[博客教程](https://my.oschina.net/wenzhenxi/blog?catalog=3363506)等。
## 適用場景與范圍
PhalApi代碼開源、產品開源、思想開源,請放心使用。
PhalApi適用的場景,包括但不限于:
+ 為移動App(包括iOS、iPad、Android、Windowns Phone等終端)提供接口服務
+ 用于搭建接口平臺系統,提供聚合類接口服務,供其他后端系統接入使用
+ 為前后端分離的H5混合頁面應用,提供Ajax異步接口
對于架構無關、專注架構及提升架構這三種情況,PhalApi都能勝任之。
正如其他負責任的開源框架一樣,PhlaApi也有其不適宜使用的時機。包括但不限于:
+ 開發CLI項目(但已提供支持命令行項目開發的[CLI擴展類庫](http://git.oschina.net/dogstar/PhalApi-Library/tree/master/CLI))
+ 開發網站項目,即有界面展示和視圖渲染(但已提供支持視圖渲染的[View擴展類庫](http://git.oschina.net/dogstar/PhalApi-Library/tree/master/View))
+ 對數據嚴謹性要求高,如金融行業的相關項目,畢竟PHP是弱類型語言
## 文檔目標讀者
本開發文檔的目標讀者是:
+ 初次接觸PhalApi框架的開發同學
+ 正在使用PhalApi進行項目開發的同學
+ 任何想了解或學習PhalApi框架的同學
## 聯系我們
#### 關于本開發文檔,任何問題,都可反饋到 [這里](https://github.com/phalapi/phalapi/issues),謝謝!