admin-framework / helper
AdminFramework Helper 是一套功能丰富的 PHP 助手类库,提供了各种常用功能的封装,旨在提高开发效率和代码质量。
Installs: 0
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/admin-framework/helper
Requires
- php: >=5.6
- admin-framework/traits: dev-master
Requires (Dev)
- ext-bcmath: *
- ext-curl: *
- ext-fileinfo: *
- ext-gd: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-redis: *
- ext-zip: *
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-12-19 20:25:48 UTC
README
AdminFramework Helper 是一套功能丰富的 PHP 助手类库,提供了各种常用功能的封装,旨在提高开发效率和代码质量。
功能特性
- 加密解密:AES、RSA 加密解密,确保数据安全
- 数组处理:数组转树结构、数组操作等
- 文件操作:文件上传、下载、目录操作、ZIP 压缩等
- 网络请求:CURL 请求封装,支持各种 HTTP 方法
- 时间处理:时间格式化、时区转换等
- 字符串处理:随机字符串生成、字符串格式化等
- 对象操作:对象属性操作等
- 雪花算法:分布式唯一 ID 生成
- Redis 操作:Redis 客户端封装
- Google 验证码:Google Authenticator 集成
- HTML 处理:HTML 标签处理
- 属性操作:动态属性设置和获取
- 结果封装:统一的 API 响应格式
安装
使用 Composer 安装:
composer require admin-framework/helper
助手类列表
1. Aes - AES 加密助手
提供 AES 加密和解密功能,支持多种加密模式。
主要方法:
encrypt($string): 加密字符串decrypt($string): 解密字符串setKey($key): 设置加密密钥setMethod($method): 设置加密方法
示例:
use AdminFramework\Helper\Aes; $aes = Aes::factory()->setKey('your-secret-key'); $encrypted = $aes->encrypt('Hello World'); $decrypted = $aes->decrypt($encrypted);
2. Arr - 数组助手
提供数组操作和转换功能,特别是数组转树结构。
主要方法:
tree($data, $parentId = null, $dataProcessing = null, $treeKey = 'children', $idKey = 'id', $parentKey = 'parent_id'): 数组转树结构navOption($data, $parentId = 0, $p = 0, $parentIdKey = 'parent_id', $idKey = 'id', $titleKey = 'title'): 数组转换为选项列表
示例:
use AdminFramework\Helper\Arr; $data = [ ['id' => 1, 'name' => 'Item 1', 'parent_id' => 0], ['id' => 2, 'name' => 'Item 2', 'parent_id' => 1], ]; $tree = Arr::factory()->tree($data); $options = Arr::factory()->navOption($data);
3. Curl - 网络请求助手
封装了 CURL 功能,支持各种 HTTP 请求方法。
主要方法:
get($url, $params = []): GET 请求post($url, $params = []): POST 请求put($url, $params = []): PUT 请求delete($url, $params = []): DELETE 请求
示例:
use AdminFramework\Helper\Curl; $curl = Curl::factory(); $response = $curl->get('https://api.example.com/users');
4. File - 文件助手
提供文件和目录操作功能。
主要方法:
getDirFiles($dir, $recursive = false): 获取指定目录内的目录和文件createDir($path, $mode = 0777, $recursive = true): 创建目录deleteDir($dir, $deleteSelf = true): 删除目录createFile($filename, $data = '', $overWrite = false): 创建文件copy($src, $dst): 复制文件或目录move($old, $new): 移动文件或目录formatSizeUnits($bytes): 文件大小格式化zip($dir, $zipName): 压缩目录readCsv($filename, $hasHeader = true, $delimiter = ',', $enclosure = '"', $escape = '\\'): 使用yield读取CSV文件fileStrReplace($content, $attr = [], $separator = '#'): 文件内容替换
示例:
use AdminFramework\Helper\File; $file = File::factory(); $file->createDir('/path/to/dir'); $file->createFile('/path/to/file.txt', 'Hello World'); $zipPath = $file->zip('/path/to/dir', '/path/to/archive.zip');
5. Rsa - RSA 加密助手
提供 RSA 密钥生成、加密解密和签名验证功能。
主要方法:
generateKeyPair($config = []): 生成 RSA 密钥对publicEncrypt($string): 公钥加密privateDecrypt($string): 私钥解密sign($data): 私钥签名verify($data, $signature): 公钥验证签名
示例:
use AdminFramework\Helper\Rsa; $rsa = Rsa::factory(); $keyPair = $rsa->generateKeyPair(); $encrypted = $rsa->publicEncrypt('Hello World'); $decrypted = $rsa->privateDecrypt($encrypted);
6. Time - 时间助手
提供时间格式化和时区转换功能。
主要方法:
setTimezone($timezone): 设置时区format($format): 格式化时间add($interval): 增加时间sub($interval): 减少时间
示例:
use AdminFramework\Helper\Time; $time = Time::factory()->setTimezone('Asia/Shanghai'); $formatted = $time->format('Y-m-d H:i:s');
7. Str - 字符串助手
提供字符串操作和处理功能。
主要方法:
random($length = 10, $options = []): 生成随机字符串camelCase($str, $delimiter = '_', $ucFirst = true): 转换字符串为驼峰式unCamelCase($str, $delimiter = '_'): 转换驼峰式为指定分隔符格式mask($str, $start = 3, $length = 4, $mask = '*'): 隐藏部分字符串(常用数据脱敏)limit($str, $limit = 100, $end = '...'): 限制字符串长度并在超出时添加后缀title($value): 转为首字母大写的标题格式str_starts_with($haystack, $needle): 判断字符串是否以指定前缀开头
示例:
use AdminFramework\Helper\Str; $str = Str::factory(); $random = $str->random(16, ['symbols' => true]); $camelCase = Str::camelCase('hello_world'); $masked = Str::mask('13800138000', 3, 4);
8. Snowflake - 雪花算法助手
提供分布式唯一 ID 生成功能。
主要方法:
id(): 生成唯一 ID
示例:
use AdminFramework\Helper\Snowflake; $snowflake = Snowflake::factory(); $id = $snowflake->id();
9. Redis - Redis 助手
封装了 Redis 客户端功能。
主要方法:
set($key, $value, $expire = null): 设置键值对get($key): 获取键值del($key): 删除键incr($key): 自增
示例:
use AdminFramework\Helper\Redis; $redis = Redis::factory()->connect('localhost', 6379); $redis->set('name', 'AdminFramework'); $name = $redis->get('name');
10. GoogleAuthenticator - Google 验证码助手
提供 Google Authenticator 集成功能。
主要方法:
createSecret(): 创建密钥getQRCodeUrl($name, $secret): 获取二维码 URLverifyCode($secret, $code): 验证验证码
示例:
use AdminFramework\Helper\GoogleAuthenticator; $ga = GoogleAuthenticator::factory(); $secret = $ga->createSecret(); $qrcodeUrl = $ga->getQRCodeUrl('User', $secret); $isValid = $ga->verifyCode($secret, '123456');
11. Html - HTML 助手
提供 HTML 标签处理功能。
主要方法:
stripTags($html, $allowed = ''): 去除 HTML 标签entities($string): 转义 HTML 实体decodeEntities($string): 解码 HTML 实体
示例:
use AdminFramework\Helper\Html; $html = Html::factory(); $clean = $html->stripTags('<p>Hello <b>World</b></p>', '<b>');
12. Obj - 对象助手
提供对象操作功能。
主要方法:
toArray($object): 对象转数组toJson($object): 对象转 JSONgetProperty($object, $property): 获取对象属性
示例:
use AdminFramework\Helper\Obj; $obj = Obj::factory(); $array = $obj->toArray($stdObject); $json = $obj->toJson($stdObject);
13. Attribute - 属性助手
提供动态属性设置和获取功能。
主要方法:
setAttribute($name, $value): 设置属性getAttribute($name): 获取属性hasAttribute($name): 检查属性是否存在
示例:
use AdminFramework\Helper\Attribute; $attr = Attribute::factory(); $attr->setAttribute('name', 'AdminFramework'); $name = $attr->getAttribute('name');
14. Result - 结果助手
提供统一的 API 响应格式。
主要方法:
success($data = []): 成功响应error($message = '', $code = 0): 错误响应setCode($code): 设置响应码setMessage($message): 设置响应消息
示例:
use AdminFramework\Helper\Result; $result = Result::factory(); $response = $result->success(['data' => 'Hello World']); // 输出: {"code":0,"message":"success","data":{"data":"Hello World"}}
使用工厂模式
所有助手类都支持工厂模式创建实例:
use AdminFramework\Helper\Str; // 使用工厂模式创建实例 $str = Str::factory(); // 链式调用 $result = $str->random(10)->upper();
贡献
欢迎提交 Issue 和 Pull Request!
许可证
Apache License 2.0