阅读模式:

yaf框架简介

查看:6855  回复:0  类型:  来源:php自学网  标签 yaf

一、yaf简述    

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

开始学习,学习手册地址:http://www.laruence.com/manual/

分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
php生成二维码   阅读:6544centos7中颁发CA证书并开启web https   阅读:6803centos 7 修改系统屏幕分辨率   阅读:43070shell脚本批量删除几天前的文件   阅读:9353移动端js触摸touch详解(附带案例源码)   阅读:16053csv文件一键导入数据到mysql数据库   阅读:6402php 使用 smtp.php 类在线发送邮件功能   阅读:5441linux top命令详解   阅读:8953centos 7搭建zabbix3.4   阅读:6119mysql的四种索引类型   阅读:21672web项目高并发量网站解决方案   阅读:4382给php7安装redis扩展库   阅读:7946csv文件一键导入数据到mysql数据库   阅读:6402Nginx 配置文件详解   阅读:4415面试的时候和你谈理想,是理想or入坑?   阅读:9856csv文件一键导入数据到mysql数据库   阅读:6402mysql数据库性能的基本优化   阅读:4344centos 7 添加 redis 3.2.9 开机启动脚本   阅读:9063nginx编译安装后对nginx进行平滑升级   阅读:6121php冒泡排序法   阅读:13734面试都会问你为什么你从上一家公司离职的真实意思   阅读:10719网站局部小图片优化-base64编码图片   阅读:11818mysql 为什么添加索引可以提高访问速度   阅读:5740javascript点击复制内容   阅读:6453linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:16405分享:淘宝技术这十年   阅读:4493linux命令中执行php脚本   阅读:7553php 生成图片,给图片加水印   阅读:6093mysql5.7开启sql日志的配置   阅读:8616mysql5.7开启sql日志的配置   阅读:8616linux top命令详解   阅读:8953php冒泡排序法   阅读:13734session与cookie的区别   阅读:3988centos 7 设置 nginx-1.11.10 开机启动   阅读:7700web性能测试工具ab的测试方法   阅读:4383面试的时候和你谈理想,是理想or入坑?   阅读:9856centos 7 修改系统屏幕分辨率   阅读:43070“米粉节”背后的故事——小米网抢购系统开发实践   阅读:3912用php从1加到100的值   阅读:8178php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:5382javascript获取两个日期间的所有日期   阅读:6242web项目高并发量网站解决方案   阅读:4382解决 nginx 413 request entity too large   阅读:4214栈和堆的区别   阅读:4750网站局部小图片优化-base64编码图片   阅读:11818linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:16405给网站添加一键新浪微博登录的功能   阅读:6239php 读取和设置redis的键值   阅读:6989php 获取当前前后年、月、星期、日、时分秒的时间   阅读:6381centos 7 安装 mysql-5.7   阅读:6630