php sg扩展,PHP SG扩展管理Superglobals

A Simple PHP Superglobals Management

Introduction

SG is the same as PHP Superglobals, Management global variables are _GET,\_GET,_GET,_POST, _COOOKIE,\_COOOKIE,_COOOKIE,_SERVER, $_FILES, User-defined global variables. Use SG can save a lot of PHP code.

Features

Simple, Fast, Lightweight

Access global variable zero-copy

Strip whitespace with PHP trim

Solve problems with PHP undefined series (Undefined variable, Undefined offset)

Install

Requirements

PHP 7.0 +

DownLoad

git clone https://github.com/yulonghu/sg.git

复制代码

Compile SG in Linux

$ /path/to/php7/bin/phpize

$ ./configure --with-php-config=/path/to/php7/bin/php-config

$ make && make install

复制代码

Add the follow information to your php.ini

extension=sg.so

[sg]

sg.enable = On

复制代码

Restart the web server

Methods

mixed sg::get(string $key [, mixed $default_value = null])

bool sg::set(string $key, mixed $value)

bool sg::has(string $key)

bool sg::del(string $key)

复制代码

Inis

sg.enable = On/Off

sg.auto_trim = On/Off ; Strip whitespace with PHP trim

复制代码

Example

PHP Superglobals

OLD GET METHOD (Short)

NEW GET METHOD

$_GET['key']

sg::get('g.key')

$_POST['key']

sg::get('p.key')

$_COOKIE['key']

sg::get('c.key')

$_SERVER['key']

sg::get('s.key')

$_FILES['key']

sg::get('f.key')

OLD GET METHOD (Long)

NEW GET METHOD

$_GET['key']['key1']['key2']

sg::get('g.key.key1.key2')

$_POST['key']['key1']['key2']

sg::get('p.key.key1.key2')

$_COOKIE['key']['key1']['key2']

sg::get('c.key.key1.key2')

$_SERVER['key']['key1']['key2']

sg::get('s.key.key1.key2')

$_FILES['key']['key1']['key2']

sg::get('f.key.key1.key2')

User-defined global variables

sg::set

var_dump(sg::set('test', 'test apple'));

var_dump(sg::set('user.0.0', 'user 0 apple'));

var_dump(sg::set('user.0.1', 'user 1 apple'));

var_dump(sg::set('user.a.a', 'user a apple'));

var_dump(sg::set('user.a.b', 'user b apple'));

复制代码

The above example will output:

bool(true)

bool(true)

bool(true)

bool(true)

bool(true)

复制代码

sg::get

var_dump(sg::get('test', 'test apple'));

var_dump(sg::get('user');

var_dump(sg::get('not_found', 'def');

var_dump(sg::get('user.1.2.3.4'));

复制代码

The above example will output:

string(10) "test apple"

array(2) {

[0]=>

array(2) {

[0]=>

string(12) "user 0 apple"

[1]=>

string(12) "user 1 apple"

}

["a"]=>

array(2) {

["a"]=>

string(12) "user a apple"

["b"]=>

string(12) "user b apple"

}

}

string(3) "def"

NULL

复制代码

sg::has

var_dump(sg::has('test'));

var_dump(sg::has('not_found'));

复制代码

The above example will output:

bool(true)

bool(false)

复制代码

sg::del

var_dump(sg::del('test'));

var_dump(sg::del('user.0.1'));

var_dump(sg::get('user');

复制代码

The above example will output:

bool(true)

bool(true)

array(2) {

[0]=>

array(1) {

[0]=>

string(12) "user 0 apple"

}

["a"]=>

array(2) {

["a"]=>

string(12) "user a apple"

["b"]=>

string(12) "user b apple"

}

}

复制代码

License

SG is open source software under the PHP License v3.01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值