定制 admin-framework/helper 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

admin-framework/helper

Composer 安装命令:

composer require admin-framework/helper

包简介

AdminFramework Helper 是一套功能丰富的 PHP 助手类库,提供了各种常用功能的封装,旨在提高开发效率和代码质量。

README 文档

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): 获取二维码 URL
  • verifyCode($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): 对象转 JSON
  • getProperty($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

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-18