marsapp / system-helper
系统操作助手。
0.2.0
2021-08-04 12:00 UTC
Requires
- php: ^7
Requires (Dev)
- phpunit/phpunit: ^6
README
系统操作助手。
1. 概述
- System Helper
- 1. 概述
- 2. 描述
- 3. 安装
- 4. 依赖
- 5. 使用
- 6. 示例
- 7. 贡献
2. 描述
3. 安装
3.1. composer install
$ composer require marsapp/system-helper
4. 依赖
- PHP7
5. 使用
5.1. Cookie
- Cookie操作的库
- 包装PHP原生函数/变量setcookie()/$_COOKIE,丰富功能并简化使用方法。
- 额外功能
- 支持Cookie前缀包装
- 支持默认值:过期时间、路径、域名、安全、HttpOnly
- 专用函数:根域名访问
5.1.1. 设置
- 使用前设置
// 引入Composer autoload include('../vendor/autoload.php'); // 宣告使用 SystemHelper use marsapp\helper\system\SystemHelper; // 常數設定 - 需設 Cookie前綴、過期時間、預設路徑、根網域 define('COOKIE_DEFAULT_PREFIX', 'dev_'); define('COOKIE_DEFAULT_EXPIRES', 0); define('COOKIE_DEFAULT_PATH', '/'); define('COOKIE_ROOT_DOMAIN', 'dev.local');
5.1.2. Cookie默认选项 - 单个
5.1.2.1. 描述
cookieOption(string $param, string $value = null) : string|null
5.1.2.2. 参数
- $param : string
- Cookie默认选项的目标参数。
- $value : string
- 新数据。
- 当$param不存在时,返回null
- 当有$param但没有$value(null)时,获取$param的当前值
- 当有$param和$value时,更新数据后,将返回更新的值
5.1.2.3. 返回值
string|null
5.1.2.4. 示例
// 取得Cookie預設參數值 $httponly = SystemHelper::cookieOption('httponly'); // 設定Cookie預設參數-單筆 $httponly = SystemHelper::cookieOption('httponly', false);
5.1.3. 设置Cookie默认选项 - 多个
5.1.3.1. 描述
cookieOptions(array $options = []) : array
5.1.3.2. 参数
- $options : array
- 批量更新Cookie默认选项。
5.1.3.3. 返回值
array,返回完整的Cookie默认选项。
5.1.3.4. 示例
// 變數設定 $options = [ // 存放路徑 'path' => '/tmp/', // 是否只能通過HTTP協議訪問 'httponly' => false, ]; // 回傳完整Cookie預設參數 $cookieOptions = SystemHelper::cookieOptions(); // 設定Cookie預設參數-多筆 $cookieOptions = SystemHelper::cookieOptions($options);
5.1.4. 设置Cookie
5.1.4.1. 描述
cookieSet(string $name, string $value = "", array $options = []) : bool
设置Cookie,包装PHP原生函数setcookie()以简化使用。
5.1.4.2. 参数
- $name : string
- Cookie的名称。
- $value : string
- Cookie的值。
- $options : array
- 'prefix' => '', // Cookie前綴,默认无前綴
- 'expires' => time()+3600, // 过期时间,默认无期限
- 'path' => '/', // 存放路径
- 'domain' => "", // 所属域名
- 'secure' => true, // 是否只在https生效
- 'httponly' => false, // 是否只能通过HTTP协议访问
5.1.4.3. 返回值
bool,类似于PHP函数setcookie()
5.1.4.4. 示例
// 變數設定 $name = 'testCookie'; $value = "test-" . mt_rand(1111, 9999); $options = [ // 存放路徑 'path' => '/', // 是否只能通過HTTP協議訪問 'httponly' => true, ]; // 設定Cookie SystemHelper::cookieSet($name, $value, $options);
- $options可用参数
- 'prefix' => '', // Cookie前綴,默认无前綴
- 'expires' => time()+3600, // 过期时间,默认无期限
- 'path' => '/', // 存放路径
- 'domain' => "", // 所属域名
- 'secure' => true, // 是否只在https生效
- 'httponly' => false, // 是否只能通过HTTP协议访问
5.1.5. 在根域名上设置Cookie
5.1.5.1. 描述
cookieSetRoot(string $name, string $value = "", array $options = []) : bool
类似于
cookieSet()
,但域名固定在根域名。
5.1.6. 获取Cookie
5.1.6.1. 描述
cookieGet(string $name) : mixed
获取目标Cookie值
5.1.7. 删除Cookie
5.1.7.1. 描述
cookieExpired(string $name, array $options = []) : bool
删除目标Cookie。
5.1.8. 在根域名上删除Cookie
5.1.8.1. 描述
cookieExpiredRoot(string $name, array $options = []) : bool
类似于
cookieExpired()
,但域名固定在根域名。
6. 示例
见:example/example-cookie.php
7. 贡献
- 20210424: MarsHung 构建仓库 & 开发
- 20210621: MarsHung 添加函数cookieOption(), cookieOptions(), COOKIE_DEFAULT_PREFIX