# 寫在前邊
* * * * *
**摘自官網:**
隨著PHP的發展, PHP框架層出不窮, 但到底用不用PHP框架, 還存在很大的爭論, 反對者認為使用框架會降低性能, 經常舉例的就是Zend Framework. 而支持者則認為,采用框架能提高開發效率, 損失點性能也是值得的.
而這些也正是公司內框架種類繁多的一個原因, 有的項目組為了性能而選擇某些框架, 而另外一些項目組, 則為了更好的封裝選擇了另外的框架
那, 有沒有倆全的辦法呢? 也就是說, 有沒有那么一個框架, 既不會有損性能, 又能提高開發效率呢.
Yaf, 就是為了這個目標而生的.
Yaf有著和Zend Framework相似的API, 相似的理念, 而同時又保持著對Bingo的兼容, 以此來提高開發效率, 規范開發習慣. 本著對性能的追求, Yaf把框架中不易變的部分抽象出來,采用PHP擴展實現(c語言),以此來保證性能.在作者自己做的簡單測試中, Yaf和原生的PHP在同樣功能下, 性能損失小于10%, 而和Zend Framework的對比中, Yaf的性能是Zend Framework的50-60倍,是原生的ThinkPHP5的幾倍。
目前所處的團隊有部分工作正是使用了 Yaf 框架開發。
**但是使用新框架意味著,又要增加許多成本**
如果兼顧開發與學習成本,快速替換駛入yaf呢?于是我們想到了,好輪子復用。
ThinkPHP是一個免費開源的,快速、簡單的面向對象的輕量級PHP開發框架,在國內有著豐富的開發者,從5.0來,采取了大量組建式的功能開發;能否將其組件,拆裝到yaf中,讓性能與開發學習效率同時上升呢?
說干就干,于是就有了這個
**Yaf 救贖之路**
由于本人能力有限,文檔書中難免出現錯誤。請各位讀者朋友多多提出建議,我會虛心受教。
在此感謝惠新宸先生所開源的 Yaf 框架、劉晨的ThinkPHP,和看云提供了優秀的 Markdown + Git 寫作平臺
本書記錄開發中理解的一些有關yaf的內容,所有代碼已經發布到github上
**github地址**:
https://github.com/yumufeng/thinkyaf
**國內GITEE地址**:
https://gitee.com/yumufeng/thinkyaf
**郵箱:** admin@Yumufeng.com
--: 2018年春于武漢
- 序言
- 安裝 Yaf
- Yaf基礎知識
- 運行流程
- YAF架構
- 目錄結構
- Yaf的配置
- Yaf的Bootstrap
- Yaf的多模塊配置
- Yaf中使用命名空間
- 本書框架配置
- 框架目錄結構
- 數據庫配置
- 緩存配置
- 全局配置
- 公共助手函數
- 請求與響應
- 請求-Request
- 響應-Response
- 數據庫操作
- 使用think-orm
- 接口開發
- RESTful接口設計
- Yar RPC接口設計
- 數據驗證
- 數據驗證 - validate
- 網頁開發
- Session
- Cookie
- 路由設置
- 工具類
- Rsa加密
- Random快速生成隨機數
- Cache - 緩存
- Weapp - 微信小程序類
- Qiniu - 七牛云存儲使用
- 支付類(微信&支付寶)
- Logs - 日志記錄