Yaf是一个C语言编写的以PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快,更轻便. 它提供了Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的PHP框架。
Yaf(Yet Another Framework)是一个 C 语言编写的 PHP 框架,是一个以 PHP 扩展形式提供的 PHP 开发框架, 相比于一般的 PHP 框架, 它更快,更轻便. 它提供了 Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的 PHP 框架。
Yaf 的特点
在和其他用 PHP 写的 PHP 框架来比的话, Yaf 就是剑的第二层境界. 框架不在你手中, 而在 PHP 的"心"中.
目前 PHP 的框架层出不穷, 其中不乏很多优秀的框架, 比如 Zend 官方支持的 Zend Framework, Yii, ci 等等. 但在这繁多的框架也就造成了公司内多种框架的业务产品. 这些框架之间的不同, 也就导致了多种版本的类库, 框架, 约定, 规范
那么, 为什么现在开源社区没有一个成熟的用 PHP 扩展开发的框架呢?
用 PHP 扩展写 PHP 框架的难点
- 难于开发. 要完成一个 PHP 扩展的 PHP 框架, 需要作者有 C 背景, 有 PHP 扩展开发背景, 更要有 PHP 框架的设计经验.
- 目标用户群小. 现在国内很多中小型站都是使用虚拟主机, 并不能随意的给 PHP 添加扩展, 所以这些大部分的中小型企业, 个人博客的用户就无法使用.
- 维护成本高. 要维护 PHP 扩展, 不仅仅需要精通于 C 的开发和调试, 更要精通于 Zend API, 并且升级维护的周期也会很长.
那既然这样, 为什么还要用 PHP 扩展来开发框架呢, 或者说, 这可行么?
用 PHP 扩展写 PHP 框架的可行性
- 扩展逻辑相对比较稳定, 一般不易变化. 把它们抽象出来, 用扩展实现, 不会带来额外的维护负担.
- 框架逻辑复杂, 自检耗时耗内存都比较可观, 而如果用扩展来实现, 就能大幅减少这部分对资源的消耗.
Yaf 的优点
- 用 C 语言开发的 PHP 框架, 相比原生的 PHP, 几乎不会带来额外的性能开销.
- 所有的框架类, 不需要编译, 在 PHP 启动的时候加载, 并常驻内存.
- 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
- 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
- 高性能的视图引擎.
- 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
- 内建多种路由, 可以兼容目前常见的各种路由协议.
- 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
- 在框架本身,对危险的操作习惯做了禁止.
- 更快的执行速度, 更少的内存占用.