Yaf 是什么
Yaf,全称 Yet Another Framework,是一个C语言编写的、基于PHP扩展开发的PHP框架。
相比于一般的PHP框架,它更快,快到被誉为最快的PHP开发框架。
它提供了Bootstrap、路由、分发、视图、插件功能。
注:百度的odp框架基于yaf开发的。
Yaf 的优点用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
更短的内存周转周期, 提高内存利用率, 降低内存占用率.
灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
高性能的视图引擎.
高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
内建多种路由, 可以兼容目前常见的各种路由协议.
强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
在框架本身,对危险的操作习惯做了禁止.
更快的执行速度, 更少的内存占用.
以上内容引用鸟哥的官方介绍,当然,Yaf不是一个Full-Stack的web框架,它没有对数据库操作的封装,更不用说ORM;很多人认为这是Yaf的不足,但这又是Yaf的优点,这代表着一种精神,就是追求简单,追求高效,追求”简单可依赖“, 所以Yaf专注于实现最核心的功能,提供最稳定的实现。
尽管Yaf的功能有限,但Yaf是可扩展的!它提供的插件机制,可以和其它类库整合在一起。Yaf非常适合基于Yaf再扩展一套适合自己的业务层框架。总之Yaf非常适合互联网产品的开发。
流程图
Yaf提供了完善的API, 并支持Bootstrap和插件机制. 整体流程图如下:
使用 Bootstrap
Bootstrap, 也叫做引导程序. 它是Yaf提供的一个全局配置的入口, 在Bootstrap中, 你可以做很多全局自定义的工作.
注:在PIE框架中webroot目录下各个模块对应的文件里的index.php起初始化作用,部分替代了yaf中Bootstrap文件的作用:
index.php文件:
$objApplication = Sf\Init::init();
$objResponse = $objApplication->bootstrap()->run();
路由协议
PIE 框架中的路由协议采用默认协议,由请求url中指定要路由的app、controller、action名称。以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家或者 知乎专栏PHP7进阶架构师zhuanlan.zhihu.com