# 写在前边
* * *
**摘自官网:**
随着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](https://github.com/yumufeng/thinkyaf)
**国内GITEE地址**:
[https://gitee.com/yumufeng/thinkyaf](https://gitee.com/yumufeng/thinkyaf)
**邮箱:**[admin@Yumufeng.com](mailto:admin@Yumufeng.com)
- 序言
- 安装 Yaf
- Yaf基础知识
- 1.运行流程
- 2.YAF架构
- 3.目录结构
- 4.Yaf的配置
- 5.Yaf的Bootstrap
- 6.Yaf的多模块配置
- 7.Yaf中使用命名空间
- 本书框架配置
- 1.框架目录结构
- 2.数据库配置
- 3.缓存配置
- 4.全局配置
- 5.公共助手函数
- 请求与响应
- 1.请求-Request
- 2.响应-Response
- 数据库操作
- 使用think-orm
- 接口开发
- 1.RESTful接口设计
- 2.Yar RPC接口设计
- 数据验证
- 数据验证 - validate
- 网页开发
- Session
- Cookie
- 路由设置
- 工具类
- 1.Rsa加密
- 2.Random快速生成随机数
- 3.Cache - 缓存
- 4.Weapp - 微信小程序类
- 5.Qiniu - 七牛云存储使用
- 6.支付类(微信&支付宝)
- 7.Logs - 日志记录