A Simple PHP Superglobals Management
GitHub:
Introduction
SG is the same as PHP , Management global variables are $_GET, $_POST, $_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
- 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/Offsg.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
The above example will output:
bool(true)bool(true)bool(true)bool(true)bool(true)复制代码
sg::get
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
The above example will output:
bool(true)bool(false)复制代码
sg::del
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