加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

SG :一个简朴的PHP语法糖扩展

发布时间:2019-06-06 05:29:19 所属栏目:建站 来源:范家鹏
导读:语法糖每每给措施员提供了更适用的编码方法,可以使代码更简捷流通,语义更天然。本文先容笔者本身写的PHP语法糖扩展,扩展了一种全新的PHP超全局变量获取方法。 说说语法糖 起首说说语法糖这个词绝非贬义词,它可以给我们的开拓事变带来便利,是一种轻量
副问题[/!--empirenews.page--]

语法糖每每给措施员提供了更适用的编码方法,可以使代码更简捷流通,语义更天然。本文先容笔者本身写的PHP语法糖扩展,扩展了一种全新的PHP超全局变量获取方法。

说说语法糖

起首说说“语法糖”这个词绝非贬义词,它可以给我们的开拓事变带来便利,是一种轻量级便捷的写法,既不会对说话自己的行使造成倒霉影响,也不会在机能上带来丧失。

凡是环境下,行使语法糖可以或许增进措施的可读性,镌汰措施伟大性,镌汰编码中堕落的机遇,也对开拓工程师具有友爱性,可以或许晋升我们的开拓服从。

优越的语法糖,应该是一种魂灵头脑的注入,简朴写法的应用。我这里用一幅图来暗示:

SG :一个简朴的PHP语法糖扩展

什么是SG?

SG 全称 Superglobals,引用全局浸染域中可用的所有变量。SG扩展了一种全新的PHP超全局变量获取方法。

这些超全局变量是:_SERVER,_GET,_POST,_FILES,_COOKIE,_SESSION,_REQUEST,_ENV。

虽然了,也可以应用到自界说变量场景。

很是重要的一点是:它很简朴!

1. 项目配景

这个idea起点很简朴,从扩展名称我们应该能猜到它是做什么的。

在机能最优的条件下:

  • 能普通易懂地简化HTTP参数获取要领
  • 必要对HTTP参数值举办同一过滤、转换、解密操纵
  • 获取HTTP参数前,必要举办一些Predefined Operation
  • 针对HTTP参数的统统举动,必要同步更新对应的PHP Superglobal
  • 声明时才行使,而非哀求一开始就对PHP Superglobals扫荡式处理赏罚
  • 在global语法上,扩展一项能获取HTTP参数的手段

So,SG呈现就是为了办理上面这些题目而来,它提供了一种越发甜美的语法,当前已经宣布了v3.0.0。

2. 项目地点

https://github.com/yulonghu/sg

接待各人来提交Issues~

当前支持的PHP版本,如下图所示:

SG :一个简朴的PHP语法糖扩展

SG的特征

  • 简朴,快速,轻量
  • 零拷贝会见PHP超全局变量,行使SG会同步更新PHP超全局变量
  • 支持取值前挪用自界说函数,默认环境下,字符串变量会自动挪用 PHP trim
  • 办理行使PHP超全局变量时呈现未界说系列的题目 (Undefined variable, Undefinedoffset)
  • 回收静态要领时,以小数点取代PHP数组维度
  • 回收global声明方法时,以下划线取代PHP数组维度
  • 支持可设置的global $variable查找深度,默认一级查找

设置项(php.ini)

SG :一个简朴的PHP语法糖扩展

Hash Map

SG :一个简朴的PHP语法糖扩展

流程图

global 声明方法(PHP7):

SG :一个简朴的PHP语法糖扩展

函数方法

SG :一个简朴的PHP语法糖扩展

API

global 声明方法:

SG :一个简朴的PHP语法糖扩展

静态要领

SG :一个简朴的PHP语法糖扩展

例子

1. global 声明例子

(1) sg.global_level = 1:

SG :一个简朴的PHP语法糖扩展

SG :一个简朴的PHP语法糖扩展

以上例子输出的功效:

SG :一个简朴的PHP语法糖扩展

(2) sg.global_level = 0

SG :一个简朴的PHP语法糖扩展

以上例子输出的功效:

SG :一个简朴的PHP语法糖扩展

(3) sg.func_name

SG :一个简朴的PHP语法糖扩展

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读