# 寫在前邊
最初的選擇使用 Yaf 框架進行開發,并不是團隊的決定。而是我個人在從業已經六年多的時候嘗試了各種框架之后,突然意識到自己的 PHP 基礎和原生能力已經隨著使用框架的時間變長而不斷弱化。甚至已經到了空手寫不出 SQL 語句的窘境。隨后惶恐的開始尋找解決辦法。在原生 PHP 和框架開發中不斷的切換以尋求解決問題的方法。最后還是選擇了使用 Yaf 框架來開發。
Yaf 框架只奠定了基礎的開發 MVC 開發規范,并沒有過多的功能來讓人懶惰的忘記原生。最初為了不給團隊的同事帶來不必要的麻煩,我只在個人的項目和業余時間練習作品中使用 Yaf。所幸的是在 2017 年我個人的職業生涯發生了一次很大的變革,目前所處的團隊有部分工作正是使用了 Yaf 框架開發。
選擇了使用 Yaf 框架進行開發之后,便開始了為期一年的痛苦自學 Yaf 的行程。一邊 Google 一邊測試,鳥哥的官方文檔和網上大部分的資料都是基于 Yaf2.x 的老資料,和現在正在最新版本的 Yaf3 有些細節地方并不一致。PHP 官方文檔更是部分英文,部分還未編寫。在不斷測試,不斷糾錯的過程中完成了我個人的 Yaf 救贖之路。
由于個人有記錄學習筆記的習慣,本書就是由我個人的學習筆記整理所來,記錄了我個人學習 Yaf 和使用 Yaf 的過程中遇到的一些問題和解決辦法。
由于本人能力有限,書中難免出現錯誤。請各位讀者朋友多多提出建議,我會虛心受教。
在此感謝惠新宸先生所開源的 Yaf 框架和看云提供了優秀的 Markdown + Git 寫作平臺
**本書最終收益的 10% 將通過 @螞蟻金服公益 捐助給 @中華社會救助基金會 的[《抗戰老兵助養行動》](https://love.alipay.com/donate/itemDetail.htm?name=2014082515434166296)。老兵不死,只是凋零。向英雄致敬。**
--: 2017年秋于北京
- 作者自序
- 本書約定
- 安裝 Yaf
- 框架配置
- 使用 Bootstrap
- 集成 Composer
- 配置 IDE 支持 Yaf 代碼提醒
- 多模塊配置
- 命名空間支持
- 錯誤調試
- 請求與響應
- 輸入變量
- 輸出 JSON
- Ajax 請求
- 數據庫操作
- PDO 操作數據庫
- 使用 Laravel-Eloquent ORM 操作數據庫
- 視圖模板
- 使用 Yaf 自帶模板引擎
- 使用 Twig 模板引擎
- 接口開發
- RESTful
- 網頁開發
- SESSION
- Cookie
- 命令行開發
- 爬蟲開發
- 寫代碼之前
- 建立爬行目標抽象類
- 實現具體爬行目標類
- 實現爬蟲工廠類
- 編寫異步操作方法
- 用 Redis 保存爬行結果
- WebSocket 實時獲取結果
- 定時器更新爬行結果
- 優化程序
- 框架實踐
- 引入類庫
- 多模塊繼承與引入
- Let's Encrypt 免費 https 證書申請
- 附錄A:常見 Bootstrap 操作
- 附錄B:Yaf 配置項