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


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
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社区 版权所有