PHP - Yaf的介绍

Yaf是一个C语言编写的PHP框架

Yaf的特点

剑的三层境界:一是手中有剑,心中亦有剑;二是手中无剑,心中有剑;三是手中无剑,心中亦无剑

在和其他用PHP写的PHP框架来比的话, Yaf就是剑的第二层境界. 框架不在你手中, 而在PHP的"心"中.

目前PHP的框架层出不穷, 其中不乏很多优秀的框架, 比如Zend官方支持的Zend Framework, Yii, ci等等. 但在这繁多的框架也就造成了公司内多种框架的业务产品. 这些框架之间的不同, 也就导致了多种版本的类库, 框架, 约定, 规范,,,,

那么, 为什么现在开源社区没有一个成熟的用PHP扩展开发的框架呢?

用PHP扩展写PHP框架的难点

  1. 难于开发. 要完成一个PHP扩展的PHP框架, 需要作者有C背景, 有PHP扩展开发背景, 更要有PHP框架的设计经验.
  2. 目标用户群小. 现在国内很多中小型站都是使用虚拟主机, 并不能随意的给PHP添加扩展, 所以这些大部分的中小型企业, 个人博客的用户就无法使用.
  3. 维护成本高. 要维护PHP扩展, 不仅仅需要精通于C的开发和调试, 更要精通于Zend API, 并且升级维护的周期也会很长.

那既然这样, 为什么还要用PHP扩展来开发框架呢, 或者说, 这可行么?

用PHP扩展写PHP框架的可行性

  1. 扩展逻辑相对比较稳定, 一般不易变化. 把它们抽象出来, 用扩展实现, 不会带来额外的维护负担.
  2. 框架逻辑复杂, 自检耗时耗内存都比较可观, 而如果用扩展来实现, 就能大幅减少这部分对资源的消耗.

Yaf的优点

天下武功无坚不破,唯快不破

  1. 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
  2. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
  3. 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
  4. 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
  5. 高性能的视图引擎.
  6. 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
  7. 内建多种路由, 可以兼容目前常见的各种路由协议.
  8. 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
  9. 在框架本身,对危险的操作习惯做了禁止.
  10. 更快的执行速度, 更少的内存占用.

1.3. 流程图

Yaf提供了完善的API, 并支持Bootstrap和插件机制. 整体流程图如下:


更多干货,长按识别关注

尽在phpeveryday

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-11-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全华班

微信公众号、小程序、接口统一集成开发平台框架

RhaPHP微信平台管理系统,支持多公众号管理,小程序开发,APP接口开发、几乎集合微信功能,简洁、快速上手、快速开发微信各种各样应用。简洁、好用、快速、项目开...

902
来自专栏Crossin的编程教室

一点微小的程序

今年年初的时候,说好要颠覆 App 的小程序上线了。不过几个月来一直不温不火。最近估计实在挂不住了,小程序又开放了一些功能权限。 正好前阵子有不止一个同学跟我提...

2937
来自专栏前端那些事

起步 - 从场景中看父子组件间通信

组件间通信是组件开发的,我们既希望组件的独立性,数据能互不干扰,又不可避免组件间会有联系和交互。 在vue中,父子组件的关系可以总结为props down,ev...

1919
来自专栏ImportSource

你真的知道你喜欢REST而不是RPC的原因吗?

本文讨论的内容主要是请求风格,所以本文中所说RPC侧重于HTTP请求风格,而非java中的RPC设计模式。 有关REST和RPC的讨论或争论一直...

2736
来自专栏IT技术精选文摘

有货移动Web端性能优化探索实践

在移动互联网的时代里,对于一个web站点来说,移动端的用户体验尤为重要。现代web站点的设计和开发都是以移动优先作为第一原则,我们也专门为了移动端的web站点做...

33910
来自专栏从零开始学自动化测试

python笔记23-unittest单元测试之mock

unittest.mock是一个用于在Python中进行单元测试的库,Mock翻译过来就是模拟的意思,顾名思义这个库的主要功能是模拟一些东西。 它的主要功能是使...

742
来自专栏企鹅号快讯

SEO×静态、动态、伪静态URL的特性

1、静态页面 优点:相比其他两种页面,速度最快。不仅仅是秒杀秒客网加载速度最快,而且不需要从数据库里面提取数据,速度快的同时,也不会对服务器产生压力。 缺点:由...

1968
来自专栏黑白安全

利用Cookie注入 绕过WAF

cookie注入的原理在于更改本地的cookie,从而利用cookie来提交非法语句。

922
来自专栏PHP技术

php的优缺点

1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apac...

3595
来自专栏携程技术中心

干货 | 揭秘携程三端通用框架中的CRNWEB

1083

扫码关注云+社区