前言: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