Yaf是什么

Fanly 2019-08-02 13:33:18
问答

Yaf是一个C语言编写的以PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快,更轻便. 它提供了Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的PHP框架。

Yaf(Yet Another Framework)是一个 C 语言编写的 PHP 框架,是一个以 PHP 扩展形式提供的 PHP 开发框架, 相比于一般的 PHP 框架, 它更快,更轻便. 它提供了 Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的 PHP 框架。

Yet Another Framework

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 的优点

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

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • file 文件

    闪存文件系统是什么

    闪存文件系统(Flash file system),是一种为了在闪存设备上存储资料而设计的文件系统,如JFFS2与YAFFS等。随着移动设备的日渐增加,闪存的存储能力增加以及价格下降,这类型的文件系统变得越来越普遍。
  • file system 文件系统

    文件系统是什么

    计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。
  • uclinux

    uCLinux是什么

    uclinux即“微控制器领域中的Linux系统”,主要是针对目标处理器没有存储管理单元MMU的嵌入式系统而设计的。已经被成功地移植到了很多平台上。
  • 嵌入式系统 Embedded system

    嵌入式系统是什么

    嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容,相比于一般的计算机处理系统而言。
  • ZendFramework

    Zend是什么意思

    Zend 是一种开源的, 面向对象的WEB应用程序开发框架,在PHP7下运行,使用MVC软件架构,授权模式采用BSD许可证。
  • Bootstrap

    Bootstrap是什么

    Bootstrap是一个用于快速开发 Web 应用程序和网站的前端框架。基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,提供了优雅的HTML和CSS规范,由动态CSS语言Less写成。