热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

yaf框架php扩展框架–见证我们知识的缺陷

这两天一直在研究一个框架yaf是php的一个扩展框架,全称是YetAnotherFramework

这两天一直在研究一个框架yaf是php的一个扩展框架,全称是Yet Another Framework,是国内唯一一个进入PHP开发组的人写的一个框架,另外大神还有其他作品譬如yar yac lua Taint等等,博客地址http://www.laruence.com,近两天为了研究这个框架我特意安装了linux系统,然后看他的C代码,那思维逻辑代码实现,垃圾回收机制,内存周期控制以及加载方式灰常棒!因为这哥们在linux下的教程比较多,在windows更多就是vc6以上的版本安装介绍就没有了,很多人刚学习PHP的没有研究过的很难懂这些,所以今天写个简单的教程,推崇一下这个框架,透漏一点新浪微博就用的这个框架做的!官方的测试http://www.laruence.com/2012/09/16/2791.html

今天我就教大家怎么用这个东西,今天简单的教程吧!

我现在已win8做实验吧,因为公司的电脑统一安装了win8,iis 8 安装的php版本PHP Version 5.3.23,然后官方说下载类库就可以了5.3以上php_yaf.dll但是这个东西看上去好多http://code.google.com/p/yafphp/downloads/list 有多个版本,而且分为zts和nts版本,这里给大家这是什么,其实就是php的线程安全和非线程安全,也就是PHP的两种加载方式ISAPI和FASTCGI,大家知道在IIS7上就已经开始集成了FAST_CGI,一般的我们用的PHP如果在windows上用的FAST_CGI比较多的iis7 一般建议用的是 nts非线性安全的 ,我的现在配置的情况如下

然后我针对的下载的就是nts版本的,在把它重命名php_yaf.dll加载到ext/加载php.ini 然后cmd执行php.exe -l的时候出现问题了,缺少php5ts的错误提示,这时候我们就现在一个然后放到php根目录下,然后执行正确之后
我们在php.ini加上以下

配置说明

选项名称 默认值 可修改范围 更新记录
yaf.environ product PHP_INI_ALL 环境名称, 当用INI作为Yaf的配置文件时, 这个指明了Yaf将要在INI配置中读取的节的名字
yaf.library NULL PHP_INI_ALL 全局类库的目录路径
yaf.cache_config 0 PHP_INI_SYSTEM 是否缓存配置文件(只针对INI配置文件生效), 打开此选项可在复杂配置的情况下提高性能
yaf.name_suffix 1 PHP_INI_ALL 在处理Controller, Action, Plugin, Model的时候, 类名中关键信息是否是后缀式, 比如UserModel, 而在前缀模式下则是ModelUser
yaf.name_separator “” PHP_INI_ALL 在处理Controller, Action, Plugin, Model的时候, 前缀和名字之间的分隔符, 默认为空, 也就是UserPlugin, 加入设置为”_”, 则判断的依据就会变成:”User_Plugin”, 这个主要是为了兼容ST已有的命名规范
yaf.forward_limit 5 PHP_INI_ALL forward最大嵌套深度
yaf.use_namespace 0 PHP_INI_SYSTEM 开启的情况下, Yaf将会使用命名空间方式注册自己的类, 比如Yaf_Application将会变成Yaf\Application
yaf.use_spl_autoload 0 PHP_INI_ALL 开启的情况下, Yaf在加载不成功的情况下, 会继续让PHP的自动加载函数加载, 从性能考虑, 除非特殊情况, 否则保持这个选项关闭

重启iis 我们会发现已经多了扩展yaf了,这个就是很简单的,但是对于用惯了php框架的人傻了,怎么用这个东西,是不是所有东西都自己写呢,这个框架大部分都是自己手动配置的,然后快速开发的框架,由于东西太多,我就给大家分开了写,感兴趣的可以研究一下,丰富我们的知识,如果您的PHP感觉不错建议您查看一下他的源代码C的,偷窥无罪,作者的开发思想,实现思想太牛了!明天我就开始教大家怎么用它快速开发一个web!大家着急的可以看下http://yaf.laruence.com/manual/自己配置学习一下!


推荐阅读
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 落樱3D v0.5是一款在Android平台上发布的3D美少女格斗游戏,本次更新带来了多项新功能和优化。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本文探讨了高质量C/C++编程的最佳实践,并详细分析了常见的内存错误及其解决方案。通过深入理解内存管理和故障排除技巧,开发者可以编写更健壮的程序。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
author-avatar
手机用户2502886695
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有