stellarwp/superglobals

一个处理对超全局变量访问的库。

1.3.0 2024-06-26 14:12 UTC

This package is auto-updated.

Last update: 2024-09-17 15:20:37 UTC


README

Tests Static Analysis

一个处理对超全局变量访问的库。

为什么创建这样一个库?WordPress .org 不喜欢插件直接访问超全局变量,因此创建这个库以以一致和安全的方式处理这些问题,并可以作为composer依赖项使用。

目录

安装

我们建议您通过 Composer 将 SuperGlobals 作为项目依赖项安装。

composer require stellarwp/superglobals

实际上,我们建议使用 Strauss 将此库包含到您的项目中。

幸运的是,将 Strauss 添加到您的 composer.json 只比添加一个典型依赖项稍微复杂一点,所以请查看我们的 strauss 文档

关于命名空间的重要说明

此仓库中的文档将使用 StellarWP\SuperGlobals 作为基础命名空间,但是如果您在项目中使用 Strauss 来前缀命名空间,您需要相应地调整命名空间。(例如:Boom\Shakalaka\StellarWP\SuperGlobals

用法

SuperGlobals::get_get_var( $var, $default = null )

获取一个 $_GET 值并使用 SuperGlobals::sanitize_deep() 递归地对其进行清理。

示例

use StellarWP\SuperGlobals\SuperGlobals;

// Get $_GET['post_id']
$var = SuperGlobals::get_get_var( 'post_id' );

// Provide a default value if the variable is not set.
$var = SuperGlobals::get_get_var( 'post_id', 12 );

SuperGlobals::get_post_var( $var, $default = null )

获取一个 $_POST 值并使用 SuperGlobals::sanitize_deep() 递归地对其进行清理。

示例

use StellarWP\SuperGlobals\SuperGlobals;

// Get $_POST['post_id']
$var = SuperGlobals::get_post_var( 'post_id' );

// Provide a default value if the variable is not set.
$var = SuperGlobals::get_post_var( 'post_id', 12 );

SuperGlobals::get_raw_superglobal( string $superglobal )

获取请求的超全局变量。选项是 ENVGETPOSTREQUESTSERVER

示例

use StellarWP\SuperGlobals\SuperGlobals;

// Get $_ENV
$env     = SuperGlobals::get_raw_superglobal( 'ENV' );

// Get $_GET
$get     = SuperGlobals::get_raw_superglobal( 'GET' );

// Get $_POST
$post    = SuperGlobals::get_raw_superglobal( 'POST' );

// Get $_REQUEST
$request = SuperGlobals::get_raw_superglobal( 'REQUEST' );

// Get $_SERVER
$server  = SuperGlobals::get_raw_superglobal( 'SERVER' );

SuperGlobals::get_sanitized_superglobal( string $superglobal )

获取请求的超全局变量,经过清理。选项是 ENVGETPOSTREQUESTSERVER

示例

use StellarWP\SuperGlobals\SuperGlobals;

// Get $_ENV
$env     = SuperGlobals::get_sanitized_superglobal( 'ENV' );

// Get $_GET
$get     = SuperGlobals::get_sanitized_superglobal( 'GET' );

// Get $_POST
$post    = SuperGlobals::get_sanitized_superglobal( 'POST' );

// Get $_REQUEST
$request = SuperGlobals::get_sanitized_superglobal( 'REQUEST' );

// Get $_SERVER
$server  = SuperGlobals::get_sanitized_superglobal( 'SERVER' );

SuperGlobals::get_server_var( $var, $default = null )

获取一个 $_SERVER 值并使用 SuperGlobals::sanitize_deep() 递归地对其进行清理。

示例

use StellarWP\SuperGlobals\SuperGlobals;

// Get $_SERVER['REQUEST_URI']
$var = SuperGlobals::get_server_var( 'REQUEST_URI' );

// Provide a default value if the variable is not set.
$var = SuperGlobals::get_server_var( 'REQUEST_URI', 'http://example.com' );

SuperGlobals::get_var( $var, $default = null )

$_REQUEST$_POST$_GET 中获取值,并使用 SuperGlobals::sanitize_deep() 递归地对其进行清理。

示例

use StellarWP\SuperGlobals\SuperGlobals;

// Get $_REQUEST['post_id'] or $_POST['post_id'] or $_GET['post_id'], wherever it lives
$var = SuperGlobals::get_var( 'post_id' );

// Provide a default value if the variable is not set.
$var = SuperGlobals::get_var( 'post_id', 12 );

SuperGlobals::sanitize_deep( &$value )

递归地使用适当的清理函数对值进行清理。

示例

use StellarWP\SuperGlobals\SuperGlobals;

$var = SuperGlobals::sanitize_deep( $some_var );