热门标签 | 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/自己配置学习一下!


推荐阅读
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文介绍了一个项目中如何在Windows平台上实现多声道音频数据的采集,特别是针对DANTE音频接口的8路立体声音频通道。文章详细描述了使用Windows底层音频API进行音频采集的方法,并提供了一个具体的实现示例。 ... [详细]
  • 精选Unity开源项目:UniRx实现响应式编程
    本文介绍了Unity中的响应式编程框架——UniRx,探讨了其在解决异步编程难题中的应用及优势。 ... [详细]
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社区 版权所有