# 写在前边
最初的选择使用 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 配置项