前言:PHP 框架
PHP 开发中难免会接触到框架,现在的框架非常多,诸如 ThinkPHP、Yii…… 层出不穷
框架主要是用于方便开发,但是同时也有一些问题日益彰显出来:
-
框架功能丰富灵活,但是会拖慢程序的运行速度
-
框架往往会被修改,来适应自己的业务需求
-
框架更新带来的新功能往往 “想用又不想改”
-
框架代码质量、代码风格无法保证
这也就造成了一些问题:功能和效率的冲突、升级的困难
Yaf 简介
Yaf 正是这样一个背景下出现的。它使用 C 语言编写,只有简单的 MVC、Loader 等常见的功能。
所以说,Yaf 主要的思想是:简单可依赖
Yaf 和常见的 MVC 框架很相似:一个index.php作为入口、通过路由器分发到不同的controllers,目录结构也很类似:
+ public
|- index.php //入口文件
|- .htaccess //重写规则
|+ static
+ conf
|- application.ini //配置文件
+ application
|+ controllers
|- Index.php //默认控制器
|+ views
|+ index //控制器
|- index.phtml //默认视图
|+ modules //其他模块
|+ library //本地类库
|+ models //model目录
|+ plugins //插件目录
运行流程也和常见的 MVC 框架相似:

可见,Yaf 的学习成本是很低的
关于 Yaf 的更多信息,大家可以参考官方文档
学习 Yaf 的一点建议
学习 Yaf 之前,建议先熟悉何为 MVC、何为路由,因为 Yaf 并不会介绍这些很基础的知识。之后搞清楚流程,再从简到难的进行开发
Yaf 在很多时候只是作为一个 “地基” 在使用。你完全可以将 Yaf 再 “封装” 一次来适应你的业务需求,使用 Yaf 并不意味着你的框架就是如此 “简陋”
选择 Yaf
为什么推荐 Yaf?最大的原因,就是因为 Yaf 使用 C 语言编写,可以极大地提高运行效率,同时也不失灵活性
但是这并不意味着 Yaf 就是最好的、其他框架都是渣渣。框架各有各的优缺点,得看实际需求。一般开发我们并不介意到底是使用 Yii,还是 ThinkPHP,或者 Zend Framework、CodeIgniter。因为他们虽然实现方式不一样、命名方式不一样、调用方式不一样,但是功能都大同小异。在比较注重性能的场合下,那么我们一般就会抛弃 Zend Framework 这种 “臃肿” 的框架,而选择 Yaf 这类简单但是高效率的框架
Yaf 的简单并不意味着麻烦,也不是因为鸟哥没有这个实力或者没有这个时间,而是因为不能把过多功能集成到一个扩展形式出现的框架中。像百度、新浪这般公司尚且可以好好的使用 Yaf,何况其他公司呢?
附:相关 PPT 密码:TSqv