SG :一个简单PHP语法糖扩展超全局变量获取方式
语法糖往往给程序员提供了更实用的编码方式,可以使代码更简洁流畅,语义更自然。本文介绍一个简单的PHP语法糖扩展,扩展了一种全新的PHP超全局变量获取方式。
首先说说“语法糖”这个词绝非贬义词,它可以给我们的开发工作带来便利,是一种轻量级便捷的写法,既不会对语言本身的使用造成不利影响,也不会在性能上带来损失。
通常情况下,使用语法糖能够增加程序的可读性,减少程序复杂性,减少编码中出错的机会,也对开发工程师具有友好性,能够提升我们的开发效率。
优秀的语法糖,应该是一种灵魂思想的注入,简单写法的应用。我这里用一幅图来表示:
SG 全称 Superglobals,引用全局作用域中可用的全部变量。SG扩展了一种全新的PHP超全局变量获取方式。
- 能通俗易懂地简化HTTP参数获取方法
- 需要对HTTP参数值进行统一过滤、转换、解密操作
- 获取HTTP参数前,需要进行一些Predefined Operation
- 针对HTTP参数的一切行为,需要同步更新对应的PHP Superglobal
- 声明时才使用,而非请求一开始就对PHP Superglobals扫荡式处理
- 在global语法上,扩展一项能获取HTTP参数的能力
- 简单,快速,轻量
- 零拷贝访问PHP超全局变量,使用SG会同步更新PHP超全局变量
- 支持取值前调用自定义函数,默认情况下,字符串变量会自动调用 PHP trim
- 解决使用PHP超全局变量时出现未定义系列的问题 (Undefined variable, Undefinedoffset)
- 采用静态方法时,以小数点代替PHP数组维度
- 采用global声明方式时,以下划线代替PHP数组维度
- 支持可配置的global $variable查找深度,默认一级查找
噼里啪啦说了大半天,性能到底怎么样呢?我在本地环境做了一个简单的ab测试(ab -c100 -n10000),PHP测试代码如下:
SG具有以下优势:
- 兼容了当前的主流PHP版本
- 提供了一种更加甜蜜的语法,丰富了Superglobals的应用
- 我们始终相信:简单才是王道
THE END