kozyaxbiz/kozyax-tools
最新稳定版本:3.1.0
Composer 安装命令:
composer require kozyaxbiz/kozyax-tools
包简介
پروگرامما ياساشتا ئىشلىتىدىغان PHP جەملەنگەن ئىقتىدارلار جوغلانمىسى | Comprehensive PHP utility library for application development
关键字:
README 文档
README
پروگرامما ياساشتا ئىشلىتىدىغان PHP جەملەنگەن ئىقتىدارلار جوغلانمىسى 用于程序开发的 PHP 语言所具备的功能列表
👤 作者
KOZYAX
- 邮箱: 473536225@qq.com
- 微信号: SANSIZL2
- 官网: https://kozyax.vip
- Composer: https://packagist.org/packages/kozyaxbiz/kozyax-tools
- Gitee: https://gitee.com/kozyaxbiz/kozyax-tools
📦 安装
Composer 安装
composer require kozyaxbiz/kozyax-tools
手动安装
下载源码并包含 autoload.php 文件:
require_once 'path/to/kozyax-tools/autoload.php';
🚀 快速开始
use KozyaxTools\KozyaxTools;
// 配置(可选)
KozyaxTools::config([
'wechat_open' => [
'web' => ['appid' => 'xxx', 'appsecret' => 'xxx'],
'app' => ['appid' => 'xxx', 'appsecret' => 'xxx']
],
'wechat_official' => [
'appid' => 'xxx',
'appsecret' => 'xxx'
],
'wechat_mini' => [
'appid' => 'xxx',
'appsecret' => 'xxx'
]
]);
// 使用示例
$result = KozyaxTools::getWebCodeUrl('https://example.com/callback', 'state123');
✨ 主要功能
🔐 登录和关于功能 (Login) - 微信开放平台登录、微信公众号登录、微信小程序登录
```php use KozyaxTools\KozyaxTools; // 配置微信登录 KozyaxTools::config([ 'wechat_open' => [ 'web' => ['appid' => 'xxx', 'appsecret' => 'xxx'], 'app' => ['appid' => 'xxx', 'appsecret' => 'xxx'] ], 'wechat_official' => [ 'appid' => 'xxx', 'appsecret' => 'xxx' ], 'wechat_mini' => [ 'appid' => 'xxx', 'appsecret' => 'xxx' ] ]); ```📱 微信开放平台登录 - 网站应用登录、APP应用登录、扫码登录签名生成
🌐 网站应用登录
获取 CODE URL (getWebCodeUrl)
```php // 参数: $redirect_uri (string) - 重定向URL, $state (string) - 状态参数(可选) // 返回: string - 授权码URL // 类型: redirect_uri: string, state: string, 返回: string $redirect_uri = 'https://example.com/callback'; $state = 'state123'; $url = KozyaxTools::getWebCodeUrl($redirect_uri, $state); // 使用: 将用户重定向到此URL,用户授权后会跳转回 $redirect_uri,并带上 code 参数 ```获取 OPENID (getWebAccessToken)
```php // 参数: $code (string) - 授权码(从回调URL中获取) // 返回: array - 包含 access_token, expires_in, refresh_token, openid, scope, unionid // 类型: code: string, 返回: array $code = $_GET['code']; // 从回调URL中获取 $token = KozyaxTools::getWebAccessToken($code); // 返回示例: ['access_token' => 'xxx', 'expires_in' => 7200, 'refresh_token' => 'xxx', 'openid' => 'xxx'] ```刷新 access_token (refreshWebAccessToken)
```php // 参数: $refresh_token (string) - 刷新令牌 // 返回: array - 新的访问令牌信息 // 类型: refresh_token: string, 返回: array $newToken = KozyaxTools::refreshWebAccessToken($token['refresh_token']); ```检验 access_token 是否有效 (checkWebAccessToken)
```php // 参数: $access_token (string) - 访问令牌, $openid (string) - 用户唯一标识 // 返回: array - 检查结果 // 类型: access_token: string, openid: string, 返回: array $checkResult = KozyaxTools::checkWebAccessToken($token['access_token'], $token['openid']); ```获取用户信息 (getWebUserInfo)
```php // 参数: $access_token (string) - 访问令牌, $openid (string) - 用户唯一标识 // 返回: array - 用户信息(包含 openid, nickname, sex, province, city, country, headimgurl, privilege, unionid) // 类型: access_token: string, openid: string, 返回: array $userInfo = KozyaxTools::getWebUserInfo($token['access_token'], $token['openid']); // 返回示例: ['openid' => 'xxx', 'nickname' => '用户昵称', 'headimgurl' => '头像URL', ...] ```📲 APP应用登录
获取 OPENID (getAppAccessToken)
```php // 参数: $code (string) - 授权码 // 返回: array - 访问令牌信息 // 类型: code: string, 返回: array $appToken = KozyaxTools::getAppAccessToken($code); ```刷新 access_token (refreshAppAccessToken)
```php // 参数: $refresh_token (string) - 刷新令牌 // 返回: array - 新的访问令牌信息 // 类型: refresh_token: string, 返回: array $newAppToken = KozyaxTools::refreshAppAccessToken($appToken['refresh_token']); ```获取客户端访问令牌 (getAppClientAccessToken)
```php // 参数: $forceRefresh (bool) - 是否强制刷新(可选,默认false) // 返回: string - 访问令牌 // 类型: forceRefresh: bool, 返回: string $clientToken = KozyaxTools::getAppClientAccessToken(false); ```获取用户信息 (getAppUserInfo)
```php // 参数: $access_token (string) - 访问令牌, $openid (string) - 用户唯一标识 // 返回: array - 用户信息 // 类型: access_token: string, openid: string, 返回: array $appUserInfo = KozyaxTools::getAppUserInfo($appToken['access_token'], $appToken['openid']); ```📷 扫码登录签名生成
获取 SDK Ticket (getAppTicket)
```php // 参数: $access_token (string|null) - 访问令牌(可选,为空则自动获取), $forceRefresh (bool) - 是否强制刷新 // 返回: array - 包含 ticket 和 expires_in // 类型: access_token: string|null, forceRefresh: bool, 返回: array $ticket = KozyaxTools::getAppTicket(null, false); ```生成扫码登录签名 (generateScanLoginSignature)
```php // 参数: $sdk_ticket (string) - SDK Ticket, $noncestr (string) - 随机字符串, $timestamp (int|null) - 时间戳(可选) // 返回: string - 签名 // 类型: sdk_ticket: string, noncestr: string, timestamp: int|null, 返回: string $noncestr = uniqid(); $timestamp = time(); $signature = KozyaxTools::generateScanLoginSignature($ticket['ticket'], $noncestr, $timestamp); ```获取扫码登录配置 (getScanLoginConfig)
```php // 参数: $scope (string) - 授权作用域(默认'snsapi_userinfo'), $noncestr (string|null) - 随机字符串(可选), $timestamp (int|null) - 时间戳(可选) // 返回: array - 包含 appid, timestamp, noncestr, signature // 类型: scope: string, noncestr: string|null, timestamp: int|null, 返回: array $config = KozyaxTools::getScanLoginConfig('snsapi_userinfo', $noncestr, $timestamp); ```📰 公众号关于功能 - 登录关于、二维码管理、素材管理、用户管理、发布管理、模板消息、菜单管理、标签管理
🔐 登录关于
获取 CODE URL (getOfficialCodeUrl)
```php // 参数: $redirect_uri (string) - 重定向URL, $state (string) - 状态参数(可选,默认''), $scope (string) - 授权作用域(可选,默认'snsapi_base') // 返回: string - 授权码URL // 类型: redirect_uri: string, state: string, scope: string, 返回: string $codeUrl = KozyaxTools::getOfficialCodeUrl('https://example.com/callback', 'state123', 'snsapi_userinfo'); ```获取 access_token (getOfficialAccessToken)
```php // 参数: 无 // 返回: string - 访问令牌 // 类型: 返回: string $officialToken = KozyaxTools::getOfficialAccessToken(); ```获取微信API服务器IP (getOfficialIpList)
```php // 参数: $access_token (string) - 访问令牌 // 返回: array - IP地址列表 // 类型: access_token: string, 返回: array $ipList = KozyaxTools::getOfficialIpList($officialToken); ```通过 code 获取 openid (getOfficialCode)
```php // 参数: $code (string) - 授权码 // 返回: array - 包含 access_token, expires_in, refresh_token, openid, scope // 类型: code: string, 返回: array $officialCode = KozyaxTools::getOfficialCode($code); ```获取用户信息 (getOfficialUserInfo)
```php // 参数: $access_token (string) - 访问令牌, $openid (string) - 用户唯一标识 // 返回: array - 用户信息 // 类型: access_token: string, openid: string, 返回: array $officialUserInfo = KozyaxTools::getOfficialUserInfo($officialToken, $officialCode['openid']); ```📷 二维码管理
生成带参数二维码 (getOfficialCreateQrcode)
```php // 参数: $access_token (string) - 访问令牌, $scene (int|string) - 场景值, $action_name (string|null) - 二维码类型(可选), $expire_seconds (int) - 有效时间(可选,默认604800) // 返回: array - 包含 ticket, expire_seconds, url // 类型: access_token: string, scene: int|string, action_name: string|null, expire_seconds: int, 返回: array $qrcode = KozyaxTools::getOfficialCreateQrcode($officialToken, 123, 'QR_SCENE', 604800); // 二维码类型: QR_SCENE(临时整型), QR_STR_SCENE(临时字符串), QR_LIMIT_SCENE(永久整型), QR_LIMIT_STR_SCENE(永久字符串) ```获取二维码URL (getOfficialQrcodeUrl)
```php // 参数: $ticket (string) - 二维码ticket // 返回: string - 二维码图片URL // 类型: ticket: string, 返回: string $qrcodeUrl = KozyaxTools::getOfficialQrcodeUrl($qrcode['ticket']); ```📦 素材管理
获取素材 (getOfficialMaterial)
```php // 参数: $access_token (string) - 访问令牌, $media_id (string) - 素材ID, $savePath (string|null) - 保存路径(可选) // 返回: string|array - 素材内容或文件路径 // 类型: access_token: string, media_id: string, savePath: string|null, 返回: string|array $material = KozyaxTools::getOfficialMaterial($officialToken, 'media_id', '/path/to/save'); ```上传素材 (OfficialMaterialUpload)
```php // 参数: $access_token (string) - 访问令牌, $type (string) - 素材类型, $media (string) - 素材路径, $description (array|null) - 描述(可选) // 返回: array - 包含 media_id, url 等 // 类型: access_token: string, type: string, media: string, description: array|null, 返回: array $result = KozyaxTools::OfficialMaterialUpload($officialToken, 'image', '/path/to/image.jpg'); // 素材类型: image(图片), voice(语音), video(视频), thumb(缩略图) ```获取素材列表 (OfficialMaterialList)
```php // 参数: $access_token (string) - 访问令牌, $type (string) - 素材类型(可选,默认'image'), $offset (int) - 偏移量(可选,默认0), $count (int) - 数量(可选,默认20) // 返回: array - 素材列表 // 类型: access_token: string, type: string, offset: int, count: int, 返回: array $list = KozyaxTools::OfficialMaterialList($officialToken, 'image', 0, 20); ```删除素材 (OfficialMaterialDelete)
```php // 参数: $access_token (string) - 访问令牌, $media_id (string) - 素材ID // 返回: bool - 是否成功 // 类型: access_token: string, media_id: string, 返回: bool $result = KozyaxTools::OfficialMaterialDelete($officialToken, 'media_id'); ```👥 用户管理
获取用户基本信息 (OfficialUserInfo)
```php // 参数: $access_token (string) - 访问令牌, $openid (string) - 用户openid, $lang (string) - 语言(可选,默认'zh_CN') // 返回: array - 用户基本信息 // 类型: access_token: string, openid: string, lang: string, 返回: array $userInfo = KozyaxTools::OfficialUserInfo($officialToken, 'openid', 'zh_CN'); ```获取用户列表 (OfficialUserCount)
```php // 参数: $access_token (string) - 访问令牌, $next_openid (string) - 第一个拉取的OpenID(可选,默认'') // 返回: array - 包含 total, count, data, next_openid // 类型: access_token: string, next_openid: string, 返回: array $userList = KozyaxTools::OfficialUserCount($officialToken, ''); // 一次最多拉取10000个关注者的OpenID ```获取黑名单 (OfficialUserBlacklist)
```php // 参数: $access_token (string) - 访问令牌, $begin_openid (string) - 起始openid(可选,默认'') // 返回: array - 黑名单列表 // 类型: access_token: string, begin_openid: string, 返回: array $blacklist = KozyaxTools::OfficialUserBlacklist($officialToken, ''); ```添加黑名单 (OfficialUserBlacklistAdd)
```php // 参数: $access_token (string) - 访问令牌, $openid_list (array) - openid列表 // 返回: bool - 是否成功 // 类型: access_token: string, openid_list: array, 返回: bool $result = KozyaxTools::OfficialUserBlacklistAdd($officialToken, ['openid1', 'openid2']); ```移除黑名单 (OfficialUserBlacklistRemove)
```php // 参数: $access_token (string) - 访问令牌, $openid_list (array) - openid列表 // 返回: bool - 是否成功 // 类型: access_token: string, openid_list: array, 返回: bool $result = KozyaxTools::OfficialUserBlacklistRemove($officialToken, ['openid1', 'openid2']); ```📰 发布管理
获取发布列表 (OfficialGetFreepublish)
```php // 参数: $access_token (string) - 访问令牌, $offset (int) - 偏移量(可选,默认0), $count (int) - 数量(可选,默认20), $no_content (int) - 是否不返回内容(可选,默认0) // 返回: array - 发布列表 // 类型: access_token: string, offset: int, count: int, no_content: int, 返回: array $publishList = KozyaxTools::OfficialGetFreepublish($officialToken, 0, 20, 0); ```删除发布 (OfficialDeleteFreepublish)
```php // 参数: $access_token (string) - 访问令牌, $article_id (string) - 文章ID, $index (int) - 文章在图文消息中的位置(可选,默认0) // 返回: bool - 是否成功 // 类型: access_token: string, article_id: string, index: int, 返回: bool $result = KozyaxTools::OfficialDeleteFreepublish($officialToken, 'article_id', 0); ```📨 模板消息
发送模板消息 (OfficialsendTemplateMessage)
```php // 参数: $access_token (string) - 访问令牌, $template_id (string) - 模板ID, $touser (string) - 接收者openid, $data (array) - 模板内容数据, $url (string) - 跳转URL(可选), $miniprogram (array|null) - 小程序信息(可选), $client_msg_id (string|null) - 防重入ID(可选) // 返回: array - 包含 msgid // 类型: access_token: string, template_id: string, touser: string, data: array, url: string, miniprogram: array|null, client_msg_id: string|null, 返回: array $result = KozyaxTools::OfficialsendTemplateMessage($officialToken, 'template_id', 'openid', [ 'key1' => ['value' => 'value1', 'color' => '#173177'], 'key2' => 'value2' // 会自动转换为 ['key2' => ['value' => 'value2']] ], 'https://example.com', ['appid' => 'miniprogram_appid', 'pagepath' => 'pages/index']); ```获取所有模板 (OfficialGetAllTemplates)
```php // 参数: $access_token (string) - 访问令牌 // 返回: array - 模板列表 // 类型: access_token: string, 返回: array $templates = KozyaxTools::OfficialGetAllTemplates($officialToken); ```删除模板 (OfficialDeleteTemplate)
```php // 参数: $access_token (string) - 访问令牌, $template_id (string) - 模板ID // 返回: bool - 是否成功 // 类型: access_token: string, template_id: string, 返回: bool $result = KozyaxTools::OfficialDeleteTemplate($officialToken, 'template_id'); ```添加模板 (OfficialAddTemplate)
```php // 参数: $access_token (string) - 访问令牌, $template_id_short (string) - 模板库中模板的编号, $keyword_name_list (array) - 关键词列表 // 返回: array - 包含 template_id // 类型: access_token: string, template_id_short: string, keyword_name_list: array, 返回: array $result = KozyaxTools::OfficialAddTemplate($officialToken, 'template_id_short', ['keyword1', 'keyword2']); ```📋 菜单管理
创建自定义菜单 (OfficialCreateCustomMenu)
```php // 参数: $access_token (string) - 访问令牌, $button (array) - 菜单按钮数组 // 返回: bool - 是否成功 // 类型: access_token: string, button: array, 返回: bool $result = KozyaxTools::OfficialCreateCustomMenu($officialToken, [ [ 'type' => 'click', 'name' => '菜单1', 'key' => 'key1' ], [ 'name' => '菜单2', 'sub_button' => [ ['type' => 'view', 'name' => '子菜单1', 'url' => 'https://example.com'] ] ] ]); // 最多3个一级菜单,每个一级菜单最多5个子菜单 ```获取当前菜单信息 (OfficialGetCurrentSelfMenuInfo)
```php // 参数: $access_token (string) - 访问令牌 // 返回: array - 菜单信息 // 类型: access_token: string, 返回: array $menuInfo = KozyaxTools::OfficialGetCurrentSelfMenuInfo($officialToken); ```获取菜单 (OfficialGetMenu)
```php // 参数: $access_token (string) - 访问令牌 // 返回: array - 菜单数据 // 类型: access_token: string, 返回: array $menu = KozyaxTools::OfficialGetMenu($officialToken); ```删除菜单 (OfficialDeleteMenu)
```php // 参数: $access_token (string) - 访问令牌 // 返回: bool - 是否成功 // 类型: access_token: string, 返回: bool $result = KozyaxTools::OfficialDeleteMenu($officialToken); ```添加条件菜单 (OfficialAddConditionalMenu)
```php // 参数: $access_token (string) - 访问令牌, $button (array) - 菜单按钮数组, $matchrule (array) - 匹配规则 // 返回: array - 包含 menuid // 类型: access_token: string, button: array, matchrule: array, 返回: array $result = KozyaxTools::OfficialAddConditionalMenu($officialToken, $button, [ 'tag_id' => 1, // 或 'group_id', 'sex', 'country', 'province', 'city', 'client_platform_type', 'language' 'sex' => 1, 'country' => '中国', 'province' => '北京', 'city' => '北京', 'client_platform_type' => 1, 'language' => 'zh_CN' ]); ```删除条件菜单 (OfficialDeleteConditionalMenu)
```php // 参数: $access_token (string) - 访问令牌, $menuid (string) - 菜单ID // 返回: bool - 是否成功 // 类型: access_token: string, menuid: string, 返回: bool $result = KozyaxTools::OfficialDeleteConditionalMenu($officialToken, 'menuid'); ```尝试匹配条件菜单 (OfficialTryMatchConditionalMenu)
```php // 参数: $access_token (string) - 访问令牌, $user_id (string) - 用户ID // 返回: array - 匹配的菜单 // 类型: access_token: string, user_id: string, 返回: array $menu = KozyaxTools::OfficialTryMatchConditionalMenu($officialToken, 'user_id'); ```🏷️ 标签管理
获取标签粉丝 (OfficialGetTagFans)
```php // 参数: $access_token (string) - 访问令牌, $tagid (int) - 标签ID, $next_openid (string) - 第一个拉取的OpenID(可选,默认'') // 返回: array - 包含 count, data, next_openid // 类型: access_token: string, tagid: int, next_openid: string, 返回: array $fans = KozyaxTools::OfficialGetTagFans($officialToken, 1, ''); // 一次最多拉取10000个粉丝 ```获取标签列表 (OfficialGetTags)
```php // 参数: $access_token (string) - 访问令牌 // 返回: array - 标签列表 // 类型: access_token: string, 返回: array $tags = KozyaxTools::OfficialGetTags($officialToken); ```创建标签 (OfficialCreateTag)
```php // 参数: $access_token (string) - 访问令牌, $name (string) - 标签名称 // 返回: array - 包含 tag 对象(包含 id, name) // 类型: access_token: string, name: string, 返回: array $result = KozyaxTools::OfficialCreateTag($officialToken, '标签名称'); // 标签名称长度不能超过30个字符 ```编辑标签 (OfficialEditTag)
```php // 参数: $access_token (string) - 访问令牌, $id (int) - 标签ID, $name (string) - 新标签名称 // 返回: bool - 是否成功 // 类型: access_token: string, id: int, name: string, 返回: bool $result = KozyaxTools::OfficialEditTag($officialToken, 1, '新标签名称'); ```删除标签 (OfficialDeleteTag)
```php // 参数: $access_token (string) - 访问令牌, $id (int) - 标签ID // 返回: bool - 是否成功 // 类型: access_token: string, id: int, 返回: bool $result = KozyaxTools::OfficialDeleteTag($officialToken, 1); ```批量打标签 (OfficialBatchTagging)
```php // 参数: $access_token (string) - 访问令牌, $openid_list (array) - openid列表, $tagid (int) - 标签ID // 返回: bool - 是否成功 // 类型: access_token: string, openid_list: array, tagid: int, 返回: bool $result = KozyaxTools::OfficialBatchTagging($officialToken, ['openid1', 'openid2'], 1); ```批量取消标签 (OfficialBatchUnTagging)
```php // 参数: $access_token (string) - 访问令牌, $openid_list (array) - openid列表, $tagid (int) - 标签ID // 返回: bool - 是否成功 // 类型: access_token: string, openid_list: array, tagid: int, 返回: bool $result = KozyaxTools::OfficialBatchUnTagging($officialToken, ['openid1', 'openid2'], 1); ```获取用户标签 (OfficialGetUserTag)
```php // 参数: $access_token (string) - 访问令牌, $openid (string) - 用户openid // 返回: array - 标签ID列表 // 类型: access_token: string, openid: string, 返回: array $tags = KozyaxTools::OfficialGetUserTag($officialToken, 'openid'); ```🔲 微信小程序登录 - 登录关于、二维码管理、素材管理、订阅消息
🔐 登录关于
获取 access_token (getMpAccessToken)
```php // 参数: 无 // 返回: string - 访问令牌 // 类型: 返回: string $mpToken = KozyaxTools::getMpAccessToken(); ```获取稳定access_token (getMpStableAccessToken)
```php // 参数: $force_refresh (bool) - 是否强制刷新(可选,默认false) // 返回: string - 稳定访问令牌 // 类型: force_refresh: bool, 返回: string $stableToken = KozyaxTools::getMpStableAccessToken(false); ```小程序登录 (mpLogin)
```php // 参数: $code (string) - 小程序登录code // 返回: array - 包含 openid, session_key, unionid(如果有关联) // 类型: code: string, 返回: array $mpLogin = KozyaxTools::mpLogin($code); // 返回示例: ['openid' => 'xxx', 'session_key' => 'xxx', 'unionid' => 'xxx'] ```获取用户手机号 (getMpPhoneNumber)
```php // 参数: $access_token (string) - 访问令牌, $code (string) - 手机号获取凭证 // 返回: array - 包含手机号信息 // 类型: access_token: string, code: string, 返回: array $phoneInfo = KozyaxTools::getMpPhoneNumber($mpToken, $phoneCode); ```📷 二维码管理
获取小程序码 (getMpWxacode)
```php // 参数: $access_token (string) - 访问令牌, $path (string) - 页面路径, $width (int) - 二维码宽度(可选,默认430), $auto_color (bool) - 自动配置线条颜色(可选,默认false), $line_color (array|null) - 线条颜色(可选), $is_hyaline (bool) - 是否需要透明底色(可选,默认false), $env_version (string) - 环境版本(可选,默认'develop') // 返回: string - 小程序码图片数据 // 类型: access_token: string, path: string, width: int, auto_color: bool, line_color: array|null, is_hyaline: bool, env_version: string, 返回: string $wxacode = KozyaxTools::getMpWxacode($mpToken, 'pages/index/index', 430, false, null, false, 'develop'); // 环境版本: develop(开发版), trial(体验版), formal(正式版) ```获取小程序二维码 (createMpwxaqrcode)
```php // 参数: $access_token (string) - 访问令牌, $path (string) - 页面路径(可选,默认''), $width (int) - 二维码宽度(可选,默认430) // 返回: string - 小程序二维码图片数据 // 类型: access_token: string, path: string, width: int, 返回: string $qrcode = KozyaxTools::createMpwxaqrcode($mpToken, 'pages/index/index', 430); ```📦 素材管理
新增图片素材 (mpMediaUpload)
```php // 参数: $access_token (string) - 访问令牌, $type (string) - 媒体类型, $media (string) - 媒体文件路径 // 返回: string - 媒体信息(JSON字符串) // 类型: access_token: string, type: string, media: string, 返回: string $result = KozyaxTools::mpMediaUpload($mpToken, 'image', '/path/to/image.jpg'); ```📨 订阅消息
删除模板 (mpDeleteMessageTemplate)
```php // 参数: $access_token (string) - 访问令牌, $template_id (string) - 模板ID // 返回: bool - 是否成功 // 类型: access_token: string, template_id: string, 返回: bool $result = KozyaxTools::mpDeleteMessageTemplate($mpToken, 'template_id'); ```获取模板列表 (mpGetMessageTemplateList)
```php // 参数: $access_token (string) - 访问令牌 // 返回: array - 模板列表 // 类型: access_token: string, 返回: array $templates = KozyaxTools::mpGetMessageTemplateList($mpToken); ```发送订阅消息 (mpSendMessageTemplate)
```php // 参数: $access_token (string) - 访问令牌, $template_id (string) - 订阅模板ID, $touser (string) - 接收者openid, $data (array) - 模板内容数据, $page (string) - 跳转页面(可选), $miniprogram_state (string) - 跳转小程序类型(可选,默认'formal'), $lang (string) - 语言类型(可选,默认'zh_CN') // 返回: bool - 发送结果 // 类型: access_token: string, template_id: string, touser: string, data: array, page: string, miniprogram_state: string, lang: string, 返回: bool $result = KozyaxTools::mpSendMessageTemplate($mpToken, 'template_id', 'openid', [ 'key01' => ['value' => 'value1'], 'key02' => 'value2' // 会自动转换为 ['key02' => ['value' => 'value2']] ], 'pages/index/index', 'formal', 'zh_CN'); // 小程序类型: developer(开发版), trial(体验版), formal(正式版) // 语言类型: zh_CN(简体中文), en(英文) ```🌐 HTTP 客户端 (Http) - GET/POST/PUT/DELETE/PATCH 请求、JSON 请求、文件上传、Cookie 管理、并发请求
GET 请求 (get)
```php // 参数: $url (string) - 请求URL, $params (array) - URL参数(可选), $options (array) - 请求选项(可选) // 返回: array - 包含 success, status_code, data, headers // 类型: url: string, params: array, options: array, 返回: array $response = KozyaxTools::get('https://api.example.com/data', ['param' => 'value']); // 返回示例: ['success' => true, 'status_code' => 200, 'data' => '响应内容', 'headers' => [...]] ```POST 请求 (post)
```php // 参数: $url (string) - 请求URL, $data (array|string) - 请求数据, $options (array) - 请求选项(可选) // 返回: array - 响应结果 // 类型: url: string, data: array|string, options: array, 返回: array $response = KozyaxTools::post('https://api.example.com/submit', ['key' => 'value']); ```PUT 请求 (put)
```php // 参数: $url (string) - 请求URL, $data (array|string) - 请求数据, $options (array) - 请求选项(可选) // 返回: array - 响应结果 // 类型: url: string, data: array|string, options: array, 返回: array $response = KozyaxTools::put('https://api.example.com/update', ['id' => 1, 'name' => 'John']); ```DELETE 请求 (delete)
```php // 参数: $url (string) - 请求URL, $options (array) - 请求选项(可选) // 返回: array - 响应结果 // 类型: url: string, options: array, 返回: array $response = KozyaxTools::delete('https://api.example.com/delete/1'); ```PATCH 请求 (patch)
```php // 参数: $url (string) - 请求URL, $data (array|string) - 请求数据, $options (array) - 请求选项(可选) // 返回: array - 响应结果 // 类型: url: string, data: array|string, options: array, 返回: array $response = KozyaxTools::patch('https://api.example.com/patch', ['status' => 'active']); ```JSON 请求 (json)
```php // 参数: $method (string) - HTTP方法(GET/POST/PUT/DELETE等), $url (string) - 请求URL, $data (array) - JSON数据(可选), $options (array) - 请求选项(可选) // 返回: array - 响应结果 // 类型: method: string, url: string, data: array, options: array, 返回: array $response = KozyaxTools::json('POST', 'https://api.example.com/api', ['key' => 'value']); ```文件上传 (upload)
```php // 参数: $url (string) - 上传URL, $files (array) - 文件数组(格式: ['field_name' => '/path/to/file.jpg'] 或 ['field_name' => ['name' => 'file.jpg', 'tmp_name' => '/tmp/xxx']]), $data (array) - 其他表单数据(可选), $options (array) - 请求选项(可选) // 返回: array - 响应结果 // 类型: url: string, files: array, data: array, options: array, 返回: array $response = KozyaxTools::upload('https://api.example.com/upload', [ 'file' => '/path/to/file.jpg' ], ['key' => 'value']); ```并发请求 (multi)
```php // 参数: $requests (array) - 请求数组,每个元素包含 url, method, data, options 等 // 返回: array - 所有请求的响应结果数组 // 类型: requests: array, 返回: array $responses = KozyaxTools::multi([ ['url' => 'https://api1.example.com', 'method' => 'GET'], ['url' => 'https://api2.example.com', 'method' => 'POST', 'data' => ['key' => 'value']], ['url' => 'https://api3.example.com', 'method' => 'GET'] ]); // 返回示例: [['success' => true, 'data' => '...'], ['success' => true, 'data' => '...'], ...] ```⏰ 时间处理 (Carbon) - 时间格式化、时区处理、时间差计算、维吾尔语时间格式
获取当前时间 (now)
```php // 参数: $tz (string|null) - 时区(可选) // 返回: Carbon - 时间实例 // 类型: tz: string|null, 返回: Carbon $now = KozyaxTools::now(); // 使用: $now->format('Y-m-d H:i:s') 格式化输出 ```格式化时间 (format)
```php // 参数: $format (string) - 格式字符串, $timestamp (int) - 时间戳(可选,默认当前时间) // 返回: string - 格式化后的时间字符串 // 类型: format: string, timestamp: int, 返回: string $formatted = KozyaxTools::format('Y-m-d H:i:s', time()); // 返回示例: '2025-01-15 14:30:00' ```计算时间差 (diff)
```php // 参数: $timestamp1 (int) - 第一个时间戳, $timestamp2 (int) - 第二个时间戳 // 返回: int - 时间差(秒) // 类型: timestamp1: int, timestamp2: int, 返回: int $diff = KozyaxTools::diff(time(), strtotime('+1 day')); // 返回示例: 86400 (1天的秒数) ```创建指定时间 (create)
```php // 参数: $year (int) - 年, $month (int) - 月, $day (int) - 日, $hour (int) - 时(可选,默认0), $minute (int) - 分(可选,默认0), $second (int) - 秒(可选,默认0) // 返回: Carbon - 时间实例 // 类型: year: int, month: int, day: int, hour: int, minute: int, second: int, 返回: Carbon $date = KozyaxTools::create(2025, 1, 1, 12, 0, 0); ```解析时间字符串 (parse)
```php // 参数: $time (string) - 时间字符串 // 返回: Carbon - 时间实例 // 类型: time: string, 返回: Carbon $parsed = KozyaxTools::parse('2025-01-01 12:00:00'); ```添加天数 (addDays)
```php // 参数: $days (int) - 天数 // 返回: Carbon - 新的时间实例 // 类型: days: int, 返回: Carbon $future = KozyaxTools::now()->addDays(7); ```减去天数 (subDays)
```php // 参数: $days (int) - 天数 // 返回: Carbon - 新的时间实例 // 类型: days: int, 返回: Carbon $past = KozyaxTools::now()->subDays(7); ```维吾尔语时间格式 (formatUyghur)
```php // 参数: $format (string) - 格式字符串 // 返回: string - 维吾尔语格式的时间字符串 // 类型: format: string, 返回: string $ugTime = KozyaxTools::now()->formatUyghur('Y-يىل m-ئاي d-كۈن H:i:s'); // 返回示例: '2025-يىل 1-ئاي 15-كۈن 14:30:00' ```💾 数据库操作 (Database) - PDO 封装、连接池管理、查询构建器、事务支持、数据备份
配置数据库连接 (config)
```php // 参数: $name (string) - 连接名称, $config (array) - 配置数组(包含 driver, host, port, database, username, password, charset, options) // 返回: void // 类型: name: string, config: array, 返回: void KozyaxTools::config('default', [ 'driver' => 'mysql', // 数据库驱动: mysql, pgsql, sqlite 'host' => 'localhost', // 主机地址 'port' => 3306, // 端口号 'database' => 'test', // 数据库名 'username' => 'root', // 用户名 'password' => 'password', // 密码 'charset' => 'utf8mb4' // 字符集 ]); ```连接数据库 (connect)
```php // 参数: $name (string|null) - 连接名称(可选,默认'default') // 返回: PDO - PDO连接对象 // 类型: name: string|null, 返回: PDO $db = KozyaxTools::connect('default'); ```执行 SQL 查询 (query)
```php // 参数: $sql (string) - SQL语句, $params (array) - 参数数组(可选), $connection (string|null) - 连接名称(可选) // 返回: PDOStatement - PDO语句对象 // 类型: sql: string, params: array, connection: string|null, 返回: PDOStatement $stmt = KozyaxTools::query('SELECT * FROM users WHERE id = :id', ['id' => 1]); $users = $stmt->fetchAll(); ```获取单条记录 (fetchOne)
```php // 参数: $sql (string) - SQL语句, $params (array) - 参数数组(可选), $connection (string|null) - 连接名称(可选) // 返回: array|false - 单条记录或false // 类型: sql: string, params: array, connection: string|null, 返回: array|false $user = KozyaxTools::fetchOne('SELECT * FROM users WHERE id = :id', ['id' => 1]); ```获取多条记录 (fetchAll)
```php // 参数: $sql (string) - SQL语句, $params (array) - 参数数组(可选), $connection (string|null) - 连接名称(可选) // 返回: array - 记录数组 // 类型: sql: string, params: array, connection: string|null, 返回: array $users = KozyaxTools::fetchAll('SELECT * FROM users WHERE age > :age', ['age' => 18]); ```插入数据 (insert)
```php // 参数: $table (string) - 表名, $data (array) - 数据数组, $connection (string|null) - 连接名称(可选) // 返回: int|string - 插入的ID // 类型: table: string, data: array, connection: string|null, 返回: int|string $id = KozyaxTools::insert('users', ['name' => 'John', 'email' => 'john@example.com']); ```更新数据 (update)
```php // 参数: $table (string) - 表名, $data (array) - 更新数据, $where (string) - WHERE条件, $params (array) - 参数数组(可选), $connection (string|null) - 连接名称(可选) // 返回: int - 影响的行数 // 类型: table: string, data: array, where: string, params: array, connection: string|null, 返回: int $affected = KozyaxTools::update('users', ['name' => 'Jane'], 'id = :id', ['id' => 1]); ```删除数据 (delete)
```php // 参数: $table (string) - 表名, $where (string) - WHERE条件, $params (array) - 参数数组(可选), $connection (string|null) - 连接名称(可选) // 返回: int - 影响的行数 // 类型: table: string, where: string, params: array, connection: string|null, 返回: int $affected = KozyaxTools::delete('users', 'id = :id', ['id' => 1]); ```开始事务 (beginTransaction)
```php // 参数: $connection (string|null) - 连接名称(可选) // 返回: bool - 是否成功 // 类型: connection: string|null, 返回: bool KozyaxTools::beginTransaction('default'); ```提交事务 (commit)
```php // 参数: $connection (string|null) - 连接名称(可选) // 返回: bool - 是否成功 // 类型: connection: string|null, 返回: bool KozyaxTools::commit('default'); ```回滚事务 (rollback)
```php // 参数: $connection (string|null) - 连接名称(可选) // 返回: bool - 是否成功 // 类型: connection: string|null, 返回: bool KozyaxTools::rollback('default'); // 完整事务示例 KozyaxTools::beginTransaction(); try { KozyaxTools::insert('users', ['name' => 'John']); KozyaxTools::insert('orders', ['user_id' => 1]); KozyaxTools::commit(); } catch (Exception $e) { KozyaxTools::rollback(); } ```🖼️ 图片处理 (Image) - 图片缩放、图片裁剪、水印添加、格式转换
创建图片实例 (make)
```php // 参数: $path (string|null) - 图片路径(可选,为空则创建新图片), $width (int|null) - 宽度(创建新图片时必填), $height (int|null) - 高度(创建新图片时必填) // 返回: Image - 图片实例 // 类型: path: string|null, width: int|null, height: int|null, 返回: Image $image = KozyaxTools::make('path/to/image.jpg'); // 或创建新图片: $image = KozyaxTools::make(null, 800, 600); ```调整图片大小 (resize)
```php // 参数: $width (int) - 新宽度, $height (int|null) - 新高度(可选,为空则按比例), $aspectRatio (bool) - 是否保持宽高比(可选,默认true) // 返回: Image - 图片实例(支持链式调用) // 类型: width: int, height: int|null, aspectRatio: bool, 返回: Image $image->resize(800, 600); // 或按比例: $image->resize(800); // 高度自动计算 ```裁剪图片 (crop)
```php // 参数: $x (int) - 起始X坐标, $y (int) - 起始Y坐标, $width (int) - 裁剪宽度, $height (int) - 裁剪高度 // 返回: Image - 图片实例(支持链式调用) // 类型: x: int, y: int, width: int, height: int, 返回: Image $image->crop(100, 100, 400, 300); ```添加水印 (watermark)
```php // 参数: $watermarkPath (string) - 水印图片路径, $position (string) - 位置(可选,默认'bottom-right',可选值: top-left, top-right, bottom-left, bottom-right, center) // 返回: Image - 图片实例(支持链式调用) // 类型: watermarkPath: string, position: string, 返回: Image $image->watermark('path/to/watermark.png', 'bottom-right'); ```设置输出格式 (format)
```php // 参数: $format (string) - 格式(jpeg, png, gif, webp) // 返回: Image - 图片实例(支持链式调用) // 类型: format: string, 返回: Image $image->format('png'); ```保存图片 (save)
```php // 参数: $path (string) - 保存路径, $quality (int) - 图片质量(可选,默认90,范围1-100) // 返回: bool - 是否成功 // 类型: path: string, quality: int, 返回: bool $image->save('path/to/output.jpg', 90); ```获取图片信息 (getInfo)
```php // 参数: 无 // 返回: array - 包含 width, height, type, mime 等信息 // 类型: 返回: array $info = $image->getInfo(); // 返回示例: ['width' => 800, 'height' => 600, 'type' => IMAGETYPE_JPEG, 'mime' => 'image/jpeg'] ```📊 数据处理 (Data) - 数组操作、统计分析、数据导入导出
数组过滤 (filter)
```php // 参数: $data (array) - 数据数组, $callback (callable) - 过滤回调函数 // 返回: array - 过滤后的数组 // 类型: data: array, callback: callable, 返回: array $filtered = KozyaxTools::filter([1, 2, 3, 4, 5], function($item) { return $item > 2; }); // 返回示例: [3, 4, 5] ```数组映射 (map)
```php // 参数: $data (array) - 数据数组, $callback (callable) - 映射回调函数 // 返回: array - 映射后的数组 // 类型: data: array, callback: callable, 返回: array $mapped = KozyaxTools::map([1, 2, 3], function($item) { return $item * 2; }); // 返回示例: [2, 4, 6] ```数组归约 (reduce)
```php // 参数: $data (array) - 数据数组, $callback (callable) - 归约回调函数, $initial (mixed) - 初始值(可选) // 返回: mixed - 归约结果 // 类型: data: array, callback: callable, initial: mixed, 返回: mixed $sum = KozyaxTools::reduce([1, 2, 3, 4], function($carry, $item) { return $carry + $item; }, 0); // 返回示例: 10 ```数据分组 (groupBy)
```php // 参数: $data (array) - 数据数组, $field (string|callable) - 分组字段名或回调函数 // 返回: array - 分组后的数组 // 类型: data: array, field: string|callable, 返回: array $grouped = KozyaxTools::groupBy([ ['name' => 'John', 'age' => 25], ['name' => 'Jane', 'age' => 30], ['name' => 'Bob', 'age' => 25] ], 'age'); // 返回示例: [25 => [['name' => 'John', 'age' => 25], ['name' => 'Bob', 'age' => 25]], 30 => [['name' => 'Jane', 'age' => 30]]] ```数据排序 (sortBy)
```php // 参数: $data (array) - 数据数组, $field (string|null) - 排序字段(可选,为空则直接排序数组值), $direction (string) - 排序方向(可选,'asc'或'desc',默认'asc') // 返回: array - 排序后的数组 // 类型: data: array, field: string|null, direction: string, 返回: array $sorted = KozyaxTools::sortBy([3, 1, 4, 2], null, 'desc'); // 返回示例: [4, 3, 2, 1] ```获取唯一值 (unique)
```php // 参数: $data (array) - 数据数组, $field (string|null) - 唯一字段(可选,为空则整个元素唯一) // 返回: array - 唯一值数组 // 类型: data: array, field: string|null, 返回: array $unique = KozyaxTools::unique([1, 2, 2, 3, 3, 3]); // 返回示例: [1, 2, 3] ```提取字段值 (pluck)
```php // 参数: $data (array) - 数据数组, $field (string) - 字段名, $keyField (string|null) - 作为键的字段(可选) // 返回: array - 提取的值数组 // 类型: data: array, field: string, keyField: string|null, 返回: array $names = KozyaxTools::pluck([ ['id' => 1, 'name' => 'John'], ['id' => 2, 'name' => 'Jane'] ], 'name', 'id'); // 返回示例: [1 => 'John', 2 => 'Jane'] ```数据透视表 (pivot)
```php // 参数: $data (array) - 数据数组, $rowField (string) - 行字段, $colField (string) - 列字段, $valueField (string) - 值字段 // 返回: array - 透视表数组 // 类型: data: array, rowField: string, colField: string, valueField: string, 返回: array $pivot = KozyaxTools::pivot($data, 'rowField', 'colField', 'valueField'); ```统计分析 (stats)
```php // 参数: $numbers (array) - 数字数组 // 返回: array|null - 统计信息(包含 count, sum, mean, median, mode, variance, std_dev) // 类型: numbers: array, 返回: array|null $stats = KozyaxTools::stats([1, 2, 3, 4, 5]); // 返回示例: ['count' => 5, 'sum' => 15, 'mean' => 3, 'median' => 3, 'mode' => 1, 'variance' => 2, 'std_dev' => 1.414...] ```矩阵转置 (transpose)
```php // 参数: $matrix (array) - 矩阵数组 // 返回: array - 转置后的矩阵 // 类型: matrix: array, 返回: array $transposed = KozyaxTools::transpose([[1, 2, 3], [4, 5, 6]]); // 返回示例: [[1, 4], [2, 5], [3, 6]] ```数据分页 (paginate)
```php // 参数: $data (array) - 数据数组, $page (int) - 页码(可选,默认1), $perPage (int) - 每页数量(可选,默认10) // 返回: array - 包含 data, current_page, per_page, total, last_page 等 // 类型: data: array, page: int, perPage: int, 返回: array $paginated = KozyaxTools::paginate([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 2, 5); // 返回示例: ['data' => [6, 7, 8, 9, 10], 'current_page' => 2, 'per_page' => 5, 'total' => 11, 'last_page' => 3] ```📈 统计分析
百分位数 (percentile)
```php // 参数: $numbers (array) - 数字数组, $percentile (float) - 百分位数(0-100) // 返回: float - 百分位数值 // 类型: numbers: array, percentile: float, 返回: float $p75 = KozyaxTools::percentile([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 75); // 返回示例: 7.75 ```相关系数 (correlation)
```php // 参数: $x (array) - X数组, $y (array) - Y数组 // 返回: float|null - 相关系数(-1到1之间) // 类型: x: array, y: array, 返回: float|null $corr = KozyaxTools::correlation([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]); // 返回示例: 1.0 (完全正相关) ```线性回归 (linearRegression)
```php // 参数: $x (array) - X数组, $y (array) - Y数组 // 返回: array|null - 包含 slope(斜率), intercept(截距), equation(方程) // 类型: x: array, y: array, 返回: array|null $regression = KozyaxTools::linearRegression([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]); // 返回示例: ['slope' => 2.0, 'intercept' => 0.0, 'equation' => 'y = 2x + 0'] ```移动平均 (movingAverage)
```php // 参数: $data (array) - 数据数组, $window (int) - 窗口大小 // 返回: array - 移动平均值数组 // 类型: data: array, window: int, 返回: array $ma = KozyaxTools::movingAverage([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3); // 返回示例: [2, 3, 4, 5, 6, 7, 8, 9] (每3个数的平均值) ```增长率 (growthRate)
```php // 参数: $data (array) - 数据数组 // 返回: array - 增长率数组 // 类型: data: array, 返回: array $growth = KozyaxTools::growthRate([100, 110, 121, 133.1]); // 返回示例: [0, 0.1, 0.1, 0.1] (10%的增长率) ```指数平滑 (exponentialSmoothing)
```php // 参数: $data (array) - 数据数组, $alpha (float) - 平滑系数(可选,默认0.3,范围0-1) // 返回: array - 平滑后的数据数组 // 类型: data: array, alpha: float, 返回: array $smoothed = KozyaxTools::exponentialSmoothing([10, 12, 11, 13, 12], 0.3); ```异常值检测 (detectOutliers)
```php // 参数: $data (array) - 数据数组 // 返回: array - 异常值数组 // 类型: data: array, 返回: array $outliers = KozyaxTools::detectOutliers([1, 2, 3, 4, 5, 100, 6, 7, 8]); // 返回示例: [100] (使用IQR方法检测) ```数据标准化 (normalize)
```php // 参数: $data (array) - 数据数组 // 返回: array - 标准化后的数据数组(0-1范围) // 类型: data: array, 返回: array $normalized = KozyaxTools::normalize([10, 20, 30, 40, 50]); // 返回示例: [0, 0.25, 0.5, 0.75, 1.0] ```数据标准化 (standardize)
```php // 参数: $data (array) - 数据数组 // 返回: array - 标准化后的数据数组(Z-score标准化) // 类型: data: array, 返回: array $standardized = KozyaxTools::standardize([10, 20, 30, 40, 50]); // 返回示例: [-1.41, -0.71, 0, 0.71, 1.41] (均值为0,标准差为1) ```数据分箱 (bin)
```php // 参数: $data (array) - 数据数组, $bins (int) - 分箱数量 // 返回: array - 分箱后的数据数组 // 类型: data: array, bins: int, 返回: array $binned = KozyaxTools::bin([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3); // 返回示例: [0, 0, 0, 1, 1, 1, 2, 2, 2, 2] (分成3个箱) ```💾 数据导入导出
导出CSV (toCsv)
```php // 参数: $data (array) - 数据数组, $filename (string|null) - 文件名(可选,为空则返回字符串), $headers (array) - 表头(可选) // 返回: string|int - CSV字符串或写入的字节数 // 类型: data: array, filename: string|null, headers: array, 返回: string|int $csv = KozyaxTools::toCsv([['name' => 'John', 'age' => 25], ['name' => 'Jane', 'age' => 30]], 'output.csv', ['name', 'age']); ```导入CSV (fromCsv)
```php // 参数: $filename (string) - CSV文件路径, $hasHeaders (bool) - 是否有表头(可选,默认true), $delimiter (string) - 分隔符(可选,默认',') // 返回: array - 数据数组 // 类型: filename: string, hasHeaders: bool, delimiter: string, 返回: array $data = KozyaxTools::fromCsv('data.csv', true, ','); ```导出JSON (toJson)
```php // 参数: $data (array) - 数据数组, $filename (string|null) - 文件名(可选,为空则返回字符串), $pretty (bool) - 是否格式化(可选,默认true) // 返回: string|int - JSON字符串或写入的字节数 // 类型: data: array, filename: string|null, pretty: bool, 返回: string|int $json = KozyaxTools::toJson(['name' => 'John', 'age' => 25], 'output.json', true); ```导出Excel (toExcel)
```php // 参数: $data (array) - 数据数组, $filename (string) - 文件名, $headers (array) - 表头(可选) // 返回: bool - 是否成功 // 类型: data: array, filename: string, headers: array, 返回: bool $result = KozyaxTools::toExcel([['name' => 'John', 'age' => 25], ['name' => 'Jane', 'age' => 30]], 'output.xlsx', ['name', 'age']); ```🔄 异步任务 (Async) - 任务队列、并发执行、结果管理、状态跟踪
配置异步任务 (config)
```php // 参数: $config (array) - 配置数组(包含 max_workers, timeout, retry_attempts, log_file) // 返回: void // 类型: config: array, 返回: void KozyaxTools::config([ 'max_workers' => 4, // 最大并发数 'timeout' => 30, // 超时时间(秒) 'retry_attempts' => 3, // 重试次数 'log_file' => 'async.log' // 日志文件(可选) ]); ```添加任务到队列 (addTask)
```php // 参数: $taskId (string) - 任务ID, $callback (callable) - 任务回调函数, $params (array) - 参数数组(可选), $priority (int) - 优先级(可选,默认0,数字越大优先级越高) // 返回: string - 任务ID // 类型: taskId: string, callback: callable, params: array, priority: int, 返回: string $taskId = KozyaxTools::addTask('task_1', function($param1, $param2) { return "处理结果: {$param1} - {$param2}"; }, ['value1', 'value2'], 10); ```批量添加任务 (addTasks)
```php // 参数: $tasks (array) - 任务数组,每个元素包含 id, callback, params, priority // 返回: array - 任务ID数组 // 类型: tasks: array, 返回: array $taskIds = KozyaxTools::addTasks([ ['id' => 'task_1', 'callback' => function() { return 'Result 1'; }, 'priority' => 10], ['id' => 'task_2', 'callback' => function() { return 'Result 2'; }, 'priority' => 5] ]); ```执行单个任务 (runTask)
```php // 参数: $taskId (string) - 任务ID // 返回: mixed - 任务执行结果 // 类型: taskId: string, 返回: mixed $result = KozyaxTools::runTask('task_1'); ```执行所有任务 (run)
```php // 参数: 无 // 返回: array - 所有任务的结果数组 // 类型: 返回: array $results = KozyaxTools::run(); // 返回示例: ['task_1' => 'Result 1', 'task_2' => 'Result 2'] ```延迟执行 (delay)
```php // 参数: $seconds (int) - 延迟秒数, $callback (callable) - 回调函数 // 返回: string - 任务ID // 类型: seconds: int, callback: callable, 返回: string $delayId = KozyaxTools::delay(5, function() { echo "5秒后执行"; }); ```重复执行 (repeat)
```php // 参数: $interval (int) - 间隔秒数, $callback (callable) - 回调函数, $times (int|null) - 执行次数(可选,为空则无限执行) // 返回: string - 任务ID // 类型: interval: int, callback: callable, times: int|null, 返回: string $repeatId = KozyaxTools::repeat(10, function() { echo "每10秒执行一次"; }, 5); // 执行5次后停止 ```📧 邮件发送 (Email) - SMTP 邮件发送、邮件模板、批量发送、验证邮件
配置邮件 (config)
```php // 参数: $config (array) - 配置数组(包含 smtp_host, smtp_port, smtp_username, smtp_password, smtp_encryption, from_email, from_name, charset) // 返回: void // 类型: config: array, 返回: void KozyaxTools::config([ 'email' => [ 'smtp_host' => 'smtp.example.com', // SMTP服务器 'smtp_port' => 587, // SMTP端口(587-TLS, 465-SSL, 25-无加密) 'smtp_username' => 'user@example.com', // SMTP用户名 'smtp_password' => 'password', // SMTP密码 'smtp_encryption' => 'tls', // 加密方式: tls, ssl, 或空字符串 'from_email' => 'noreply@example.com', // 发件人邮箱 'from_name' => 'My App', // 发件人名称 'charset' => 'UTF-8' // 字符集 ] ]); ```发送邮件 (send)
```php // 参数: $to (string) - 收件人邮箱, $subject (string) - 邮件主题, $message (string) - 邮件内容, $options (array) - 选项(可选,包含 from, from_name, reply_to, cc, bcc, attachments, html) // 返回: bool - 是否成功 // 类型: to: string, subject: string, message: string, options: array, 返回: bool KozyaxTools::send('user@example.com', 'Subject', 'Body', [ 'cc' => ['cc@example.com'], 'bcc' => ['bcc@example.com'], 'attachments' => ['/path/to/file.pdf'] ]); ```使用模板发送邮件 (sendTemplate)
```php // 参数: $template (string) - 模板名称, $to (string) - 收件人邮箱, $data (array) - 模板数据(可选), $options (array) - 选项(可选) // 返回: bool - 是否成功 // 类型: template: string, to: string, data: array, options: array, 返回: bool // 先添加模板 KozyaxTools::addTemplate('welcome', '欢迎 {{name}}', '你好 {{name}},欢迎使用我们的服务!'); // 发送模板邮件 KozyaxTools::sendTemplate('welcome', 'user@example.com', ['name' => 'John']); ```批量发送邮件 (sendBulk)
```php // 参数: $recipients (array) - 收件人数组(格式: ['email@example.com' => ['name' => 'John'], ...] 或 ['email1@example.com', 'email2@example.com']), $subject (string) - 邮件主题, $message (string) - 邮件内容, $options (array) - 选项(可选) // 返回: array - 发送结果数组 // 类型: recipients: array, subject: string, message: string, options: array, 返回: array $results = KozyaxTools::sendBulk([ 'user1@example.com' => ['name' => 'User 1'], 'user2@example.com' => ['name' => 'User 2'] ], 'Subject', 'Body'); ```📱 短信发送 (Sms) - 多服务商支持、验证码发送、批量发送、发送统计
配置短信服务 (config)
```php // 参数: $config (array) - 配置数组(包含 provider, access_key, access_secret, sign_name, template_code 等) // 返回: void // 类型: config: array, 返回: void KozyaxTools::config([ 'sms' => [ 'provider' => 'aliyun', // 服务商: aliyun, tencent, huawei, smsbao, unisms, yunpian, jiguang, juhe, montnets, submail, netease, zhihuiyun 'access_key' => 'xxx', // Access Key 'access_secret' => 'xxx', // Access Secret 'sign_name' => 'MyApp', // 签名名称 'template_code' => 'SMS_123456' // 模板代码(某些服务商需要) ] ]); ```发送短信 (send)
```php // 参数: $to (string) - 手机号, $message (string) - 短信内容, $provider (string) - 服务商名称(可选,默认'default') // 返回: array - 发送结果(包含 success, message_id, provider, error) // 类型: to: string, message: string, provider: string, 返回: array $result = KozyaxTools::send('13800138000', 'Your message'); // 返回示例: ['success' => true, 'message_id' => 'xxx', 'provider' => 'aliyun'] ```发送验证码 (sendVerificationCode)
```php // 参数: $phone (string) - 手机号, $code (string) - 验证码 // 返回: array - 发送结果 // 类型: phone: string, code: string, 返回: array $result = KozyaxTools::sendVerificationCode('13800138000', '123456'); ```批量发送短信 (sendBatch)
```php // 参数: $messages (array) - 短信数组,每个元素包含 phone, message // 返回: array - 发送结果数组 // 类型: messages: array, 返回: array $results = KozyaxTools::sendBatch([ ['phone' => '13800138000', 'message' => 'Message 1'], ['phone' => '13800138001', 'message' => 'Message 2'] ]); // 返回示例: [['success' => true, 'phone' => '13800138000', ...], ['success' => true, 'phone' => '13800138001', ...]] ```🔍 网页查询 (Query) - HTML 解析、CSS 选择器、数据提取、链式操作
从 URL 加载 HTML (get)
```php // 参数: $url (string) - 网页URL, $options (array) - 请求选项(可选,包含 timeout, user_agent, headers) // 返回: Query - Query实例 // 类型: url: string, options: array, 返回: Query $query = KozyaxTools::get('https://example.com', [ 'timeout' => 30, 'user_agent' => 'MyBot/1.0' ]); ```从 HTML 字符串创建 (__construct)
```php // 参数: $html (string) - HTML字符串 // 返回: Query - Query实例 // 类型: html: string, 返回: Query $query = new \KozyaxTools\Query($html); ```加载 HTML (loadHtml)
```php // 参数: $html (string) - HTML字符串 // 返回: Query - Query实例(支持链式调用) // 类型: html: string, 返回: Query $query->loadHtml($html); ```CSS 选择器查找 (find)
```php // 参数: $selector (string) - CSS选择器 // 返回: array - QueryElement数组 // 类型: selector: string, 返回: QueryElement[] $elements = $query->find('div.content'); // 使用: foreach ($elements as $element) { echo $element->text(); } ```获取第一个元素 (first)
```php // 参数: $selector (string) - CSS选择器 // 返回: QueryElement|null - 第一个元素或null // 类型: selector: string, 返回: QueryElement|null $first = $query->first('h1'); if ($first) { echo $first->text(); } ```获取最后一个元素 (last)
```php // 参数: $selector (string) - CSS选择器 // 返回: QueryElement|null - 最后一个元素或null // 类型: selector: string, 返回: QueryElement|null $last = $query->last('div.item'); ```按文本内容查找 (findByText)
```php // 参数: $text (string) - 文本内容 // 返回: array - QueryElement数组 // 类型: text: string, 返回: QueryElement[] $elements = $query->findByText('Hello'); ```获取所有链接 (getLinks)
```php // 参数: $baseUrl (string) - 基础URL(可选,用于转换相对链接为绝对链接) // 返回: array - 链接数组(每个元素包含 url, text, title) // 类型: baseUrl: string, 返回: array $links = $query->getLinks('https://example.com'); // 返回示例: [['url' => 'https://example.com/page1', 'text' => 'Page 1', 'title' => 'Link Title'], ...] ```获取所有图片 (getImages)
```php // 参数: $baseUrl (string) - 基础URL(可选) // 返回: array - 图片数组(每个元素包含 src, alt, title, width, height) // 类型: baseUrl: string, 返回: array $images = $query->getImages('https://example.com'); // 返回示例: [['src' => 'https://example.com/image.jpg', 'alt' => 'Alt Text', 'title' => 'Title', 'width' => '800', 'height' => '600'], ...] ```获取页面标题 (getTitle)
```php // 参数: 无 // 返回: string - 页面标题 // 类型: 返回: string $title = $query->getTitle(); // 返回示例: 'Page Title' ```获取 Meta 信息 (getMeta)
```php // 参数: 无 // 返回: array - Meta信息数组 // 类型: 返回: array $meta = $query->getMeta(); // 返回示例: ['description' => 'Page description', 'keywords' => 'keyword1, keyword2', 'og:title' => 'OG Title', ...] ```获取表单数据 (getFormData)
```php // 参数: $formSelector (string) - 表单选择器(可选,默认'form') // 返回: array - 表单数据数组 // 类型: formSelector: string, 返回: array $forms = $query->getFormData('#login-form'); // 返回示例: [['action' => '/submit', 'method' => 'POST', 'fields' => ['username' => ['type' => 'text', 'value' => '', 'required' => true], ...]], ...] ```获取原始 HTML (html)
```php // 参数: 无 // 返回: string - HTML字符串 // 类型: 返回: string $html = $query->html(); ```QueryElement 方法
获取文本内容 (text)
```php // 参数: 无 // 返回: string - 文本内容 // 类型: 返回: string $text = $element->text(); ```获取 HTML (html)
```php // 参数: 无 // 返回: string - HTML字符串 // 类型: 返回: string $html = $element->html(); ```获取属性值 (attr)
```php // 参数: $name (string) - 属性名 // 返回: string|null - 属性值或null // 类型: name: string, 返回: string|null $href = $element->attr('href'); ```获取所有属性 (attrs)
```php // 参数: 无 // 返回: array - 属性数组 // 类型: 返回: array $attrs = $element->attrs(); // 返回示例: ['class' => 'container', 'id' => 'main', 'data-id' => '123'] ```📄 XML 处理 (Xml) - XML 解析、XML 生成、RSS 生成、Sitemap 生成、SOAP 支持
加载 XML (load)
```php // 参数: $xml (string) - XML字符串或文件路径 // 返回: Xml - Xml实例 // 类型: xml: string, 返回: Xml $xml = KozyaxTools::load('value'); // 或从文件: $xml = KozyaxTools::load('/path/to/file.xml'); ```创建新 XML 文档 (__construct)
```php // 参数: $rootElement (string) - 根元素名(可选,默认'root'), $version (string) - XML版本(可选,默认'1.0'), $encoding (string) - 编码(可选,默认'UTF-8') // 返回: Xml - Xml实例 // 类型: rootElement: string, version: string, encoding: string, 返回: Xml $xml = new \KozyaxTools\Xml('root', '1.0', 'UTF-8'); ```添加元素 (add)
```php // 参数: $name (string) - 元素名, $value (mixed) - 元素值(可选), $attributes (array) - 属性数组(可选) // 返回: Xml - Xml实例(支持链式调用) // 类型: name: string, value: mixed, attributes: array, 返回: Xml $xml->add('item', 'value', ['id' => '1']); ```添加子元素 (child)
```php // 参数: $name (string) - 元素名, $value (mixed) - 元素值(可选), $attributes (array) - 属性数组(可选) // 返回: Xml - Xml实例(支持链式调用) // 类型: name: string, value: mixed, attributes: array, 返回: Xml $xml->child('item', 'value'); ```转换为数组 (toArray)
```php // 参数: 无 // 返回: array - 数组 // 类型: 返回: array $array = $xml->toArray(); // 返回示例: ['root' => ['item' => 'value']] ```生成 XML 字符串 (toXml)
```php // 参数: $data (array) - 数据数组 // 返回: string - XML字符串 // 类型: data: array, 返回: string $xmlString = KozyaxTools::toXml(['root' => ['item' => 'value']]); // 返回示例: 'value' ```生成 RSS (toRss)
```php // 参数: $data (array) - RSS数据(包含 title, description, link, items等) // 返回: string - RSS XML字符串 // 类型: data: array, 返回: string $rss = KozyaxTools::toRss([ 'title' => 'My RSS', 'description' => 'RSS Description', 'link' => 'https://example.com', 'items' => [ ['title' => 'Item 1', 'link' => 'https://example.com/1', 'description' => 'Description 1'], ['title' => 'Item 2', 'link' => 'https://example.com/2', 'description' => 'Description 2'] ] ]); ```生成 Sitemap (toSitemap)
```php // 参数: $urls (array) - URL数组(字符串数组或包含 loc, lastmod, changefreq, priority 的数组) // 返回: string - Sitemap XML字符串 // 类型: urls: array, 返回: string $sitemap = KozyaxTools::toSitemap([ 'https://example.com/page1', ['loc' => 'https://example.com/page2', 'lastmod' => '2025-01-01', 'changefreq' => 'daily', 'priority' => '0.8'] ]); ```📱 二维码 (QRCode) - 二维码生成、二维码识别、多种格式输出
🔧 生成二维码
生成二维码矩阵 (generate)
```php // 参数: $text (string) - 二维码内容, $options (array) - 选项(可选,包含 error_level, size, margin) // 返回: array - 包含 success, matrix, size, text, error_level // 类型: text: string, options: array, 返回: array $result = KozyaxTools::generate('https://example.com', [ 'error_level' => 'M', // 错误级别: L, M, Q, H(L最低,H最高) 'size' => 21, // 二维码版本(1-40,数字越大尺寸越大) 'margin' => 4 // 边距 ]); $matrix = $result['matrix']; // 获取矩阵 ```将矩阵转换为 PNG (toPng)
```php // 参数: $matrix (array) - 二维码矩阵, $options (array) - 选项(可选,包含 size, foreground_color, background_color) // 返回: resource|false - GD图片资源或false // 类型: matrix: array, options: array, 返回: resource|false $image = KozyaxTools::toPng($matrix, [ 'size' => 10, // 每个模块的像素大小 'foreground_color' => [0, 0, 0], // 前景色 [R, G, B] 'background_color' => [255, 255, 255] // 背景色 [R, G, B] ]); imagepng($image, 'qrcode.png'); // 保存图片 ```保存二维码到文件 (saveToFile)
```php // 参数: $matrix (array) - 二维码矩阵, $filename (string) - 文件名, $options (array) - 选项(可选) // 返回: bool - 是否成功 // 类型: matrix: array, filename: string, options: array, 返回: bool KozyaxTools::saveToFile($matrix, 'qrcode.png', [ 'size' => 10, 'foreground_color' => [0, 0, 0], 'background_color' => [255, 255, 255] ]); ```🔍 识别二维码
识别二维码 (detect)
```php // 参数: $imagePath (string) - 图片路径 // 返回: array - 识别结果(包含 success, text, points等) // 类型: imagePath: string, 返回: array $result = KozyaxTools::detect('path/to/qrcode.png'); // 返回示例: ['success' => true, 'text' => 'https://example.com', 'points' => [...], ...] ```从图片读取矩阵 (read)
```php // 参数: $imagePath (string) - 图片路径 // 返回: array|false - 二维码矩阵或false // 类型: imagePath: string, 返回: array|false $matrix = KozyaxTools::read('path/to/qrcode.png'); ```解码二维码矩阵 (decode)
```php // 参数: $matrix (array) - 二维码矩阵 // 返回: string|false - 解码后的文本或false // 类型: matrix: array, 返回: string|false $text = KozyaxTools::decode($matrix); ```🛠️ 工具方法
设置调试模式 (setDebug)
```php // 参数: $debug (bool) - 是否启用调试模式(可选,默认true) // 返回: void // 类型: debug: bool, 返回: void KozyaxTools::setDebug(true); ```矩阵转ASCII (matrixToAscii)
```php // 参数: $matrix (array) - 二维码矩阵, $options (array) - 选项(可选) // 返回: string - ASCII字符串 // 类型: matrix: array, options: array, 返回: string $ascii = KozyaxTools::matrixToAscii($matrix); ```矩阵转HTML (matrixToHtml)
```php // 参数: $matrix (array) - 二维码矩阵, $options (array) - 选项(可选) // 返回: string - HTML字符串 // 类型: matrix: array, options: array, 返回: string $html = KozyaxTools::matrixToHtml($matrix); ```获取矩阵信息 (getMatrixInfo)
```php // 参数: $matrix (array) - 二维码矩阵 // 返回: array - 矩阵信息(包含 size, version, error_level等) // 类型: matrix: array, 返回: array $info = KozyaxTools::getMatrixInfo($matrix); ```🎨 PHP 代码生成 (PhpGenerator) - 类生成、接口生成、Trait 生成、方法生成、属性生成
🏗️ 创建生成器
创建类生成器 (createClass)
```php // 参数: $name (string) - 类名, $options (array) - 选项(可选,包含 extends, implements, traits, abstract, final) // 返回: PhpClass - 类生成器实例 // 类型: name: string, options: array, 返回: PhpClass $class = KozyaxTools::createClass('MyClass', [ 'extends' => 'BaseClass', 'implements' => ['Interface1', 'Interface2'], 'abstract' => false, 'final' => false ]); ```创建接口生成器 (createInterface)
```php // 参数: $name (string) - 接口名, $options (array) - 选项(可选) // 返回: PhpInterface - 接口生成器实例 // 类型: name: string, options: array, 返回: PhpInterface $interface = KozyaxTools::createInterface('MyInterface'); ```创建 Trait 生成器 (createTrait)
```php // 参数: $name (string) - Trait名, $options (array) - 选项(可选) // 返回: PhpTrait - Trait生成器实例 // 类型: name: string, options: array, 返回: PhpTrait $trait = KozyaxTools::createTrait('MyTrait'); ```创建方法生成器 (createMethod)
```php // 参数: $name (string) - 方法名, $options (array) - 选项(可选,包含 visibility, parameters, body, return_type, static, abstract, final) // 返回: PhpMethod - 方法生成器实例 // 类型: name: string, options: array, 返回: PhpMethod $method = KozyaxTools::createMethod('getName', [ 'visibility' => 'public', 'parameters' => [], 'body' => 'return $this->name;', 'return_type' => 'string' ]); ```创建属性生成器 (createProperty)
```php // 参数: $name (string) - 属性名, $options (array) - 选项(可选,包含 visibility, type, default_value, static) // 返回: PhpProperty - 属性生成器实例 // 类型: name: string, options: array, 返回: PhpProperty $property = KozyaxTools::createProperty('name', [ 'visibility' => 'private', 'type' => 'string', 'default_value' => null ]); ```创建命名空间生成器 (createNamespace)
```php // 参数: $name (string) - 命名空间名, $options (array) - 选项(可选) // 返回: PhpNamespace - 命名空间生成器实例 // 类型: name: string, options: array, 返回: PhpNamespace $namespace = KozyaxTools::createNamespace('MyApp'); ```📝 生成文件
生成完整 PHP 文件 (generateFile)
```php // 参数: $namespace (string|null) - 命名空间(可选), $classes (array) - 类数组, $options (array) - 选项(可选,包含 header) // 返回: string - PHP代码字符串 // 类型: namespace: string|null, classes: array, options: array, 返回: string $code = KozyaxTools::generateFile('MyApp', [$class], [ 'header' => 'Generated by KozyaxTools' ]); ```🛠️ 工具方法
格式化值 (formatValue)
```php // 参数: $value (mixed) - 值, $options (array) - 选项(可选) // 返回: string - 格式化后的值字符串 // 类型: value: mixed, options: array, 返回: string $formatted = KozyaxTools::formatValue('test'); ```格式化数组 (formatArray)
```php // 参数: $array (array) - 数组, $options (array) - 选项(可选) // 返回: string - 格式化后的数组字符串 // 类型: array: array, options: array, 返回: string $formatted = KozyaxTools::formatArray(['key' => 'value']); ```转义标识符 (escapeIdentifier)
```php // 参数: $identifier (string) - 标识符 // 返回: string - 转义后的标识符 // 类型: identifier: string, 返回: string $escaped = KozyaxTools::escapeIdentifier('class-name'); ```设置缩进 (setIndentation)
```php // 参数: $char (string) - 缩进字符(可选,默认4个空格) // 返回: void // 类型: char: string, 返回: void KozyaxTools::setIndentation(' '); ```设置行结束符 (setLineEnding)
```php // 参数: $ending (string) - 行结束符(可选,默认"\n") // 返回: void // 类型: ending: string, 返回: void KozyaxTools::setLineEnding("\n"); ```🛠️ 辅助函数 (HelperFunctions) - 数组操作、字符串处理、文件操作、URL 处理、验证函数、缓存管理
📦 数组操作
数组扁平化 (arrayFlatten)
```php // 参数: $array (array) - 多维数组, $depth (int) - 扁平化深度(可选,默认INF无限深度) // 返回: array - 扁平化后的数组 // 类型: array: array, depth: int, 返回: array $flattened = KozyaxTools::arrayFlatten([[1, 2], [3, 4]]); // 返回示例: [1, 2, 3, 4] ```数组分块 (arrayChunk)
```php // 参数: $array (array) - 数组, $size (int) - 每块大小, $preserveKeys (bool) - 是否保留键(可选,默认false) // 返回: array - 分块后的数组 // 类型: array: array, size: int, preserveKeys: bool, 返回: array $chunks = KozyaxTools::arrayChunk([1, 2, 3, 4, 5], 2); // 返回示例: [[1, 2], [3, 4], [5]] ```数组分组 (arrayGroupBy)
```php // 参数: $array (array) - 数组, $key (string|callable) - 分组键或回调函数 // 返回: array - 分组后的数组 // 类型: array: array, key: string|callable, 返回: array $grouped = KozyaxTools::arrayGroupBy([ ['name' => 'John', 'age' => 25], ['name' => 'Jane', 'age' => 30] ], 'age'); ```安全获取数组值 (arrayGet)
```php // 参数: $array (array) - 数组, $key (string) - 键名, $default (mixed) - 默认值(可选) // 返回: mixed - 值或默认值 // 类型: array: array, key: string, default: mixed, 返回: mixed $value = KozyaxTools::arrayGet($array, 'key', 'default'); ```提取数组字段值 (arrayPluck)
```php // 参数: $array (array) - 数组, $column (string) - 字段名, $indexKey (string|null) - 作为键的字段(可选) // 返回: array - 提取的值数组 // 类型: array: array, column: string, indexKey: string|null, 返回: array $names = KozyaxTools::arrayPluck($users, 'name', 'id'); ```数组差异比较 (arrayDiffAssoc)
```php // 参数: $array1 (array) - 第一个数组, $array2 (array) - 第二个数组 // 返回: array - 差异数组 // 类型: array1: array, array2: array, 返回: array $diff = KozyaxTools::arrayDiffAssoc(['a' => 1, 'b' => 2], ['a' => 1, 'b' => 3]); ```🔤 字符串操作
转Pascal命名 (pascalCase)
```php // 参数: $string (string) - 字符串 // 返回: string - Pascal命名字符串 // 类型: string: string, 返回: string $pascal = KozyaxTools::pascalCase('hello_world'); // HelloWorld ```转驼峰命名 (camelCase)
```php // 参数: $string (string) - 字符串 // 返回: string - 驼峰命名字符串 // 类型: string: string, 返回: string $camel = KozyaxTools::camelCase('hello_world'); // helloWorld ```转蛇形命名 (snakeCase)
```php // 参数: $string (string) - 字符串 // 返回: string - 蛇形命名字符串 // 类型: string: string, 返回: string $snake = KozyaxTools::snakeCase('HelloWorld'); // hello_world ```转短横线命名 (kebabCase)
```php // 参数: $string (string) - 字符串 // 返回: string - 短横线命名字符串 // 类型: string: string, 返回: string $kebab = KozyaxTools::kebabCase('HelloWorld'); // hello-world ```截断字符串 (truncate)
```php // 参数: $text (string) - 文本, $length (int) - 长度(可选,默认100), $suffix (string) - 后缀(可选,默认'...') // 返回: string - 截断后的字符串 // 类型: text: string, length: int, suffix: string, 返回: string $truncated = KozyaxTools::truncate('This is a long text', 10, '...'); ```生成随机字符串 (randomString)
```php // 参数: $length (int) - 长度(可选,默认16), $characters (string|null) - 字符集(可选,默认字母数字) // 返回: string - 随机字符串 // 类型: length: int, characters: string|null, 返回: string $random = KozyaxTools::randomString(16); ```⏰ 时间操作
获取当前时间 (now)
```php // 参数: 无 // 返回: string - 当前时间字符串 // 类型: 返回: string $now = KozyaxTools::now(); ```获取今天 (today)
```php // 参数: $format (string) - 格式(可选,默认'Y-m-d H:i:s') // 返回: string - 今天的时间字符串 // 类型: format: string, 返回: string $today = KozyaxTools::today('Y-m-d'); ```格式化时间 (formatTime)
```php // 参数: $timestamp (int) - 时间戳, $format (string) - 格式(可选,默认'Y-m-d H:i:s') // 返回: string - 格式化后的时间字符串 // 类型: timestamp: int, format: string, 返回: string $formatted = KozyaxTools::formatTime(time(), 'Y-m-d H:i:s'); ```时间差计算 (timeDiff)
```php // 参数: $start (int|string) - 开始时间(时间戳或时间字符串), $end (int|string|null) - 结束时间(可选,默认当前时间) // 返回: array - 时间差数组(包含 years, months, days, hours, minutes, seconds) // 类型: start: int|string, end: int|string|null, 返回: array $diff = KozyaxTools::timeDiff('2025-01-01', '2025-01-15'); ```📁 文件操作
获取文件扩展名 (getExtension)
```php // 参数: $filename (string) - 文件名 // 返回: string - 扩展名 // 类型: filename: string, 返回: string $ext = KozyaxTools::getExtension('file.jpg'); // jpg ```获取文件名 (getBasename)
```php // 参数: $filename (string) - 文件路径 // 返回: string - 文件名 // 类型: filename: string, 返回: string $basename = KozyaxTools::getBasename('/path/to/file.jpg'); // file.jpg ```格式化文件大小 (formatFileSize)
```php // 参数: $bytes (int) - 字节数 // 返回: string - 格式化后的大小字符串 // 类型: bytes: int, 返回: string $size = KozyaxTools::formatFileSize(1024); // 返回示例: '1 KB' ```获取MIME类型 (getMimeType)
```php // 参数: $filename (string) - 文件名 // 返回: string - MIME类型 // 类型: filename: string, 返回: string $mime = KozyaxTools::getMimeType('file.jpg'); // image/jpeg ```🌐 URL操作
构建URL (buildUrl)
```php // 参数: $base (string) - 基础URL, $params (array) - 参数数组(可选), $fragment (string|null) - 锚点(可选) // 返回: string - 构建后的URL // 类型: base: string, params: array, fragment: string|null, 返回: string $url = KozyaxTools::buildUrl('https://example.com', ['key' => 'value'], 'section'); ```解析URL (parseUrl)
```php // 参数: $url (string) - URL字符串 // 返回: array - 解析后的URL数组 // 类型: url: string, 返回: array $parsed = KozyaxTools::parseUrl('https://example.com/path?key=value#section'); ```Base64 URL编码 (base64UrlEncode)
```php // 参数: $data (string) - 数据 // 返回: string - Base64 URL编码后的字符串 // 类型: data: string, 返回: string $encoded = KozyaxTools::base64UrlEncode('test data'); ```Base64 URL解码 (base64UrlDecode)
```php // 参数: $data (string) - Base64 URL编码的字符串 // 返回: string|false - 解码后的字符串或false // 类型: data: string, 返回: string|false $decoded = KozyaxTools::base64UrlDecode($encoded); ```✅ 验证函数
验证邮箱 (isEmail)
```php // 参数: $email (string) - 邮箱地址 // 返回: bool - 是否有效 // 类型: email: string, 返回: bool $isEmail = KozyaxTools::isEmail('user@example.com'); ```验证URL (isUrl)
```php // 参数: $url (string) - URL字符串 // 返回: bool - 是否有效 // 类型: url: string, 返回: bool $isUrl = KozyaxTools::isUrl('https://example.com'); ```验证IP (isIp)
```php // 参数: $ip (string) - IP地址 // 返回: bool - 是否有效 // 类型: ip: string, 返回: bool $isIp = KozyaxTools::isIp('192.168.1.1'); ```验证手机号 (isPhone)
```php // 参数: $phone (string) - 手机号 // 返回: bool - 是否有效 // 类型: phone: string, 返回: bool $isPhone = KozyaxTools::isPhone('13800138000'); // 返回示例: true ```验证身份证 (isIdCard)
```php // 参数: $idCard (string) - 身份证号 // 返回: bool - 是否有效 // 类型: idCard: string, 返回: bool $isIdCard = KozyaxTools::isIdCard('110101199001011234'); // 返回示例: true ```🔢 数学函数
四舍五入 (roundTo)
```php // 参数: $number (float) - 数字, $precision (int) - 精度(可选,默认2) // 返回: float - 四舍五入后的数字 // 类型: number: float, precision: int, 返回: float $rounded = KozyaxTools::roundTo(3.14159, 2); // 3.14 ```计算百分比 (percentage)
```php // 参数: $part (float) - 部分值, $total (float) - 总值 // 返回: float - 百分比 // 类型: part: float, total: float, 返回: float $percent = KozyaxTools::percentage(25, 100); // 25.0 ```判断范围 (between)
```php // 参数: $number (float) - 数字, $min (float) - 最小值, $max (float) - 最大值 // 返回: bool - 是否在范围内 // 类型: number: float, min: float, max: float, 返回: bool $inRange = KozyaxTools::between(5, 1, 10); // true ```最大值 (maxValue)
```php // 参数: ...$values (float) - 多个数字 // 返回: float - 最大值 // 类型: values: float, 返回: float $max = KozyaxTools::maxValue(1, 5, 3, 9, 2); // 9 ```最小值 (minValue)
```php // 参数: ...$values (float) - 多个数字 // 返回: float - 最小值 // 类型: values: float, 返回: float $min = KozyaxTools::minValue(1, 5, 3, 9, 2); // 1 ```💾 缓存操作
设置缓存 (setCache)
```php // 参数: $key (string) - 缓存键, $value (mixed) - 缓存值, $ttl (int) - 过期时间(秒,可选,默认3600) // 返回: bool - 是否成功 // 类型: key: string, value: mixed, ttl: int, 返回: bool KozyaxTools::setCache('key', 'value', 3600); ```获取缓存 (getCache)
```php // 参数: $key (string) - 缓存键, $default (mixed) - 默认值(可选) // 返回: mixed - 缓存值或默认值 // 类型: key: string, default: mixed, 返回: mixed $value = KozyaxTools::getCache('key', 'default'); ```删除缓存 (deleteCache)
```php // 参数: $key (string) - 缓存键 // 返回: bool - 是否成功 // 类型: key: string, 返回: bool KozyaxTools::deleteCache('key'); ```清除缓存 (clearCache)
```php // 参数: 无 // 返回: bool - 是否成功 // 类型: 返回: bool KozyaxTools::clearCache(); ```📊 系统信息
获取内存使用 (getMemoryUsage)
```php // 参数: $formatted (bool) - 是否格式化(可选,默认true) // 返回: string|int - 内存使用量(格式化字符串或字节数) // 类型: formatted: bool, 返回: string|int $memory = KozyaxTools::getMemoryUsage(true); // '2.5 MB' ```获取执行时间 (getExecutionTime)
```php // 参数: 无 // 返回: float - 执行时间(秒) // 类型: 返回: float $time = KozyaxTools::getExecutionTime(); ```获取操作系统 (getOS)
```php // 参数: 无 // 返回: string - 操作系统名称 // 类型: 返回: string $os = KozyaxTools::getOS(); // 'Windows', 'Linux', 'Darwin', etc. ```获取PHP版本 (getPhpVersion)
```php // 参数: 无 // 返回: string - PHP版本 // 类型: 返回: string $version = KozyaxTools::getPhpVersion(); ```获取最大上传大小 (getMaxUploadSize)
```php // 参数: 无 // 返回: int - 最大上传大小(字节) // 类型: 返回: int $maxSize = KozyaxTools::getMaxUploadSize(); ```🛠️ 工具函数
变量输出 (dump)
```php // 参数: ...$vars (mixed) - 多个变量 // 返回: void // 类型: vars: mixed, 返回: void KozyaxTools::dump($var1, $var2, $var3); ```获取变量类型 (getType)
```php // 参数: $var (mixed) - 变量 // 返回: string - 类型名称 // 类型: var: mixed, 返回: string $type = KozyaxTools::getType($var); // 返回示例: 'string', 'int', 'array', 'object', etc. ```获取调用栈 (getCallStack)
```php // 参数: 无 // 返回: array - 调用栈数组 // 类型: 返回: array $stack = KozyaxTools::getCallStack(); ```🔁 事件循环 (EventLoop) - 定时器、周期性任务、事件循环管理
⏱️ 定时器管理
添加一次性定时器 (addTimer)
```php // 参数: $interval (float) - 延迟秒数, $callback (callable) - 回调函数 // 返回: string - 定时器ID // 类型: interval: float, callback: callable, 返回: string $timerId = KozyaxTools::addTimer(5, function() { echo "5秒后执行"; }); ```添加周期性定时器 (addPeriodicTimer)
```php // 参数: $interval (float) - 间隔秒数, $callback (callable) - 回调函数 // 返回: string - 定时器ID // 类型: interval: float, callback: callable, 返回: string $periodicId = KozyaxTools::addPeriodicTimer(10, function() { echo "每10秒执行"; }); ```取消定时器 (cancelTimer)
```php // 参数: $timerId (string) - 定时器ID // 返回: bool - 是否成功 // 类型: timerId: string, 返回: bool KozyaxTools::cancelTimer($timerId); ```创建Promise定时器 (createPromiseTimer)
```php // 参数: $interval (float) - 延迟秒数 // 返回: Promise - Promise对象 // 类型: interval: float, 返回: Promise $promise = KozyaxTools::createPromiseTimer(5); ```🔄 流管理
添加读流 (addReadStream)
```php // 参数: $stream (resource) - 流资源, $callback (callable) - 回调函数 // 返回: string - 流ID // 类型: stream: resource, callback: callable, 返回: string $streamId = KozyaxTools::addReadStream($stream, function($data) { echo $data; }); ```添加写流 (addWriteStream)
```php // 参数: $stream (resource) - 流资源, $callback (callable) - 回调函数 // 返回: string - 流ID // 类型: stream: resource, callback: callable, 返回: string $streamId = KozyaxTools::addWriteStream($stream, function() { // 写入数据 }); ```移除流 (removeStream)
```php // 参数: $stream (resource) - 流资源 // 返回: bool - 是否成功 // 类型: stream: resource, 返回: bool KozyaxTools::removeStream($stream); ```🎯 任务调度
下一个tick执行 (nextTick)
```php // 参数: $callback (callable) - 回调函数 // 返回: void // 类型: callback: callable, 返回: void KozyaxTools::nextTick(function() { echo "下一个tick执行"; }); ```未来tick执行 (futureTick)
```php // 参数: $callback (callable) - 回调函数 // 返回: void // 类型: callback: callable, 返回: void KozyaxTools::futureTick(function() { echo "未来tick执行"; }); ```🌐 网络服务
创建HTTP服务器 (createHttpServer)
```php // 参数: $host (string) - 主机地址(可选,默认'127.0.0.1'), $port (int) - 端口(可选,默认8080), $requestHandler (callable|null) - 请求处理器(可选) // 返回: resource - 服务器资源 // 类型: host: string, port: int, requestHandler: callable|null, 返回: resource $server = KozyaxTools::createHttpServer('127.0.0.1', 8080, function($request) { return "Hello World"; }); ```创建TCP客户端 (createTcpClient)
```php // 参数: $host (string) - 主机地址, $port (int) - 端口, $onConnect (callable|null) - 连接回调(可选), $onData (callable|null) - 数据回调(可选) // 返回: resource - 客户端资源 // 类型: host: string, port: int, onConnect: callable|null, onData: callable|null, 返回: resource $client = KozyaxTools::createTcpClient('127.0.0.1', 8080, function() { echo "已连接"; }, function($data) { echo $data; }); ```📁 文件操作
读取文件 (readFile)
```php // 参数: $filename (string) - 文件名, $callback (callable) - 回调函数 // 返回: void // 类型: filename: string, callback: callable, 返回: void KozyaxTools::readFile('file.txt', function($data) { echo $data; }); ```写入文件 (writeFile)
```php // 参数: $filename (string) - 文件名, $content (string) - 内容, $callback (callable|null) - 回调函数(可选) // 返回: void // 类型: filename: string, content: string, callback: callable|null, 返回: void KozyaxTools::writeFile('file.txt', 'content', function() { echo "写入完成"; }); ```⚙️ 进程管理
创建子进程 (spawnProcess)
```php // 参数: $command (string) - 命令, $onData (callable|null) - 数据回调(可选), $onExit (callable|null) - 退出回调(可选) // 返回: resource - 进程资源 // 类型: command: string, onData: callable|null, onExit: callable|null, 返回: resource $process = KozyaxTools::spawnProcess('php script.php', function($data) { echo $data; }, function($exitCode) { echo "进程退出: $exitCode"; }); ```🛠️ 控制方法
运行事件循环 (run)
```php // 参数: 无 // 返回: void // 类型: 返回: void KozyaxTools::run(); ```停止事件循环 (stop)
```php // 参数: 无 // 返回: void // 类型: 返回: void KozyaxTools::stop(); ```获取状态 (getStatus)
```php // 参数: 无 // 返回: array - 状态数组 // 类型: 返回: array $status = KozyaxTools::getStatus(); ```清除所有 (clear)
```php // 参数: 无 // 返回: void // 类型: 返回: void KozyaxTools::clear(); ```设置调试模式 (setDebug)
```php // 参数: $debug (bool) - 是否启用调试模式(可选,默认true) // 返回: void // 类型: debug: bool, 返回: void KozyaxTools::setDebug(true); ```设置tick间隔 (setTickInterval)
```php // 参数: $interval (float) - tick间隔(秒) // 返回: void // 类型: interval: float, 返回: void KozyaxTools::setTickInterval(0.1); ```📢 事件管理 (EventManager) - 事件监听、事件触发、事件优先级、共享事件管理器
监听事件 (on / attach)
```php // 参数: $eventName (string) - 事件名称, $listener (callable) - 监听器回调函数, $priority (int) - 优先级(可选,默认1,数字越大优先级越高) // 返回: string - 监听器ID // 类型: eventName: string, listener: callable, priority: int, 返回: string $listenerId = KozyaxTools::on('user.created', function($user) { echo "User created: " . $user['name']; }, 10); // 优先级10 ```触发事件 (trigger)
```php // 参数: $eventName (string) - 事件名称, $data (mixed) - 事件数据(可选) // 返回: array - 所有监听器的返回值数组 // 类型: eventName: string, data: mixed, 返回: array $results = KozyaxTools::trigger('user.created', ['name' => 'John', 'email' => 'john@example.com']); ```触发事件直到返回 true (triggerUntil)
```php // 参数: $eventName (string) - 事件名称, $data (mixed) - 事件数据(可选) // 返回: mixed - 第一个返回true的监听器的返回值 // 类型: eventName: string, data: mixed, 返回: mixed $result = KozyaxTools::triggerUntil('user.created', $userData); ```移除事件监听 (off / detach)
```php // 参数: $eventName (string) - 事件名称, $listener (string|callable) - 监听器ID或回调函数 // 返回: bool - 是否成功 // 类型: eventName: string, listener: string|callable, 返回: bool KozyaxTools::off('user.created', $listenerId); // 或: KozyaxTools::off('user.created', $listenerFunction); ```获取事件监听器 (getListeners)
```php // 参数: $eventName (string) - 事件名称 // 返回: array - 监听器数组 // 类型: eventName: string, 返回: array $listeners = KozyaxTools::getListeners('user.created'); ```🌍 语言检测 (Lang) - 多语言检测、N-gram 算法、白名单/黑名单、结果排序
🔍 检测方法
检测语言 (detect)
```php // 参数: $text (string) - 要检测的文本, $languages (array) - 语言列表(可选,为空则检测所有语言) // 返回: Lang - Lang实例(支持链式调用) // 类型: text: string, languages: array, 返回: Lang $lang = KozyaxTools::detect('Hello world'); ```完成检测并返回结果 (close)
```php // 参数: 无 // 返回: array - 检测结果数组(按相似度排序) // 类型: 返回: array $result = $lang->close(); // 返回示例: [['language' => 'en', 'score' => 0.95], ['language' => 'zh', 'score' => 0.05], ...] ```获取最佳结果 (bestResults)
```php // 参数: 无 // 返回: Lang - Lang实例(支持链式调用) // 类型: 返回: Lang $lang->bestResults(); ```转换为字符串 (__toString)
```php // 参数: 无 // 返回: string - 最佳匹配的语言代码 // 类型: 返回: string $language = (string)$lang; // 返回最佳匹配的语言代码 ```⚙️ 配置方法
设置白名单 (whitelist)
```php // 参数: ...$languages (string) - 语言代码列表 // 返回: Lang - Lang实例(支持链式调用) // 类型: languages: string, 返回: Lang $lang->whitelist('zh', 'en', 'ug'); ```设置黑名单 (blacklist)
```php // 参数: ...$languages (string) - 语言代码列表 // 返回: Lang - Lang实例(支持链式调用) // 类型: languages: string, 返回: Lang $lang->blacklist('fr', 'de'); ```限制返回结果数量 (limit)
```php // 参数: $limit (int) - 结果数量 // 返回: Lang - Lang实例(支持链式调用) // 类型: limit: int, 返回: Lang $lang->limit(3); ```📊 信息方法
判断语言 (is)
```php // 参数: $language (string) - 语言代码 // 返回: bool - 是否为指定语言 // 类型: language: string, 返回: bool $isZh = $lang->is('zh'); ```检查语言 (check)
```php // 参数: $language (string) - 语言代码 // 返回: string - 语言代码或空字符串 // 类型: language: string, 返回: string $langCode = $lang->check('zh'); ```获取已加载语言数量 (getLoadedLanguageCount)
```php // 参数: 无 // 返回: int - 已加载语言数量 // 类型: 返回: int $count = $lang->getLoadedLanguageCount(); ```检查是否有语言模型 (hasLanguageModel)
```php // 参数: $language (string) - 语言代码 // 返回: bool - 是否有语言模型 // 类型: language: string, 返回: bool $hasModel = $lang->hasLanguageModel('zh'); ```获取语言代码映射 (getLanguageCodeMap)
```php // 参数: 无 // 返回: array - 语言代码映射数组 // 类型: 返回: array $map = $lang->getLanguageCodeMap(); ```📚 使用示例
微信登录
// 获取 CODE URL
$url = KozyaxTools::getWebCodeUrl('https://example.com/callback', 'state123');
// 获取 access_token
$token = KozyaxTools::getWebAccessToken($code);
// 获取用户信息
$userInfo = KozyaxTools::getWebUserInfo($token['access_token'], $token['openid']);
HTTP 请求
// GET 请求
$response = KozyaxTools::get('https://api.example.com/data');
// POST 请求
$response = KozyaxTools::post('https://api.example.com/submit', ['key' => 'value']);
// JSON 请求
$response = KozyaxTools::json('POST', 'https://api.example.com/api', $data);
数据库操作
// 配置数据库
KozyaxTools::config('default', [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'test',
'username' => 'root',
'password' => 'password'
]);
// 查询
$users = KozyaxTools::query('SELECT * FROM users WHERE id = :id', ['id' => 1]);
// 插入
$id = KozyaxTools::insert('users', ['name' => 'John', 'email' => 'john@example.com']);
// 更新
KozyaxTools::update('users', ['name' => 'Jane'], 'id = :id', ['id' => 1]);
时间处理
// 当前时间
$now = KozyaxTools::now();
// 格式化时间
$formatted = KozyaxTools::format('Y-m-d H:i:s', time());
// 时间差
$diff = KozyaxTools::diff(time(), strtotime('+1 day'));
语言检测
// 检测语言
$result = KozyaxTools::detect('Hello world')->close();
// 链式调用
$lang = KozyaxTools::detect('你好世界')
->whitelist('zh', 'en', 'ug')
->limit(3)
->close();
图片处理
// 创建图片实例
$image = KozyaxTools::make('path/to/image.jpg');
// 调整大小
$image->resize(800, 600);
// 添加水印
$image->watermark('path/to/watermark.png', 'bottom-right');
// 保存
$image->save('path/to/output.jpg');
📑 功能目录
🔐 登录和关于功能 (Login)
├── 📱 微信开放平台登录
│ ├── 🌐 网站应用登录 (点击展开显示代码)
│ │ ├── 获取 CODE URL (getWebCodeUrl)
│ │ ├── 获取 OPENID (getWebAccessToken)
│ │ ├── 刷新 access_token (refreshWebAccessToken)
│ │ ├── 检验 access_token 是否有效 (checkWebAccessToken)
│ │ └── 获取用户信息 (getWebUserInfo)
│ ├── 📲 APP 应用登录 (点击展开显示代码)
│ │ ├── 获取 OPENID (getAppAccessToken)
│ │ ├── 刷新 access_token (refreshAppAccessToken)
│ │ ├── 获取客户端访问令牌 (getAppClientAccessToken)
│ │ └── 获取用户信息 (getAppUserInfo)
│ └── 📷 扫码登录签名生成 (点击展开显示代码)
│ ├── 获取 SDK Ticket (getAppTicket)
│ ├── 生成扫码登录签名 (generateScanLoginSignature)
│ └── 获取扫码登录配置 (getScanLoginConfig)
├── 📰 公众号关于功能 (点击展开显示代码)
│ ├── 🔐 登录关于
│ │ ├── 获取 CODE URL (getOfficialCodeUrl)
│ │ ├── 获取 access_token (getOfficialAccessToken)
│ │ ├── 获取微信服务器白名单IP (getOfficialIpList)
│ │ ├── 通过 code 获取 openid (getOfficialCode)
│ │ └── 获取用户信息 (getOfficialUserInfo)
│ ├── 📷 二维码管理
│ │ ├── 生成带参数二维码 (getOfficialCreateQrcode)
│ │ └── 获取二维码URL (getOfficialQrcodeUrl)
│ ├── 📦 素材管理
│ │ ├── 获取素材 (getOfficialMaterial)
│ │ ├── 上传素材 (OfficialMaterialUpload)
│ │ ├── 获取素材列表 (OfficialMaterialList)
│ │ └── 删除素材 (OfficialMaterialDelete)
│ ├── 👥 用户管理
│ │ ├── 获取用户基本信息 (OfficialUserInfo)
│ │ ├── 获取用户列表 (OfficialUserCount)
│ │ ├── 获取黑名单 (OfficialUserBlacklist)
│ │ ├── 添加黑名单 (OfficialUserBlacklistAdd)
│ │ └── 移除黑名单 (OfficialUserBlacklistRemove)
│ ├── 📰 发布管理
│ │ ├── 获取发布列表 (OfficialGetFreepublish)
│ │ └── 删除发布 (OfficialDeleteFreepublish)
│ ├── 📨 模板消息
│ │ ├── 发送模板消息 (OfficialsendTemplateMessage)
│ │ ├── 获取所有模板 (OfficialGetAllTemplates)
│ │ ├── 删除模板 (OfficialDeleteTemplate)
│ │ └── 添加模板 (OfficialAddTemplate)
│ ├── 📋 菜单管理
│ │ ├── 创建自定义菜单 (OfficialCreateCustomMenu)
│ │ ├── 获取当前菜单信息 (OfficialGetCurrentSelfMenuInfo)
│ │ ├── 获取菜单 (OfficialGetMenu)
│ │ ├── 删除菜单 (OfficialDeleteMenu)
│ │ ├── 添加条件菜单 (OfficialAddConditionalMenu)
│ │ ├── 删除条件菜单 (OfficialDeleteConditionalMenu)
│ │ └── 尝试匹配条件菜单 (OfficialTryMatchConditionalMenu)
│ └── 🏷️ 标签管理
│ ├── 获取标签粉丝 (OfficialGetTagFans)
│ ├── 获取标签列表 (OfficialGetTags)
│ ├── 创建标签 (OfficialCreateTag)
│ ├── 编辑标签 (OfficialEditTag)
│ ├── 删除标签 (OfficialDeleteTag)
│ ├── 批量打标签 (OfficialBatchTagging)
│ ├── 批量取消标签 (OfficialBatchUnTagging)
│ └── 获取用户标签 (OfficialGetUserTag)
└── 🔲 微信小程序登录 (点击展开显示代码)
├── 🔐 登录关于
│ ├── 获取 access_token (getMpAccessToken)
│ ├── 获取稳定access_token (getMpStableAccessToken)
│ ├── 小程序登录 (mpLogin)
│ └── 获取用户手机号 (getMpPhoneNumber)
├── 📷 二维码管理
│ ├── 获取小程序码 (getMpWxacode)
│ └── 获取小程序二维码 (createMpwxaqrcode)
├── 📦 素材管理
│ └── 新增图片素材 (mpMediaUpload)
└── 📨 订阅消息
├── 删除模板 (mpDeleteMessageTemplate)
├── 获取模板列表 (mpGetMessageTemplateList)
└── 发送订阅消息 (mpSendMessageTemplate)
🌐 HTTP 客户端 (Http) (点击展开显示代码)
├── GET 请求 (get)
├── POST 请求 (post)
├── PUT 请求 (put)
├── DELETE 请求 (delete)
├── PATCH 请求 (patch)
├── JSON 请求 (json)
├── 文件上传 (upload)
└── 并发请求 (multi)
⏰ 时间处理 (Carbon) (点击展开显示代码)
├── 获取当前时间 (now)
├── 格式化时间 (format)
├── 计算时间差 (diff)
├── 创建指定时间 (create)
├── 解析时间字符串 (parse)
├── 添加天数 (addDays)
├── 减去天数 (subDays)
└── 维吾尔语时间格式 (formatUyghur)
💾 数据库操作 (Database) (点击展开显示代码)
├── 配置数据库连接 (config)
├── 连接数据库 (connect)
├── 执行 SQL 查询 (query)
├── 获取单条记录 (fetchOne)
├── 获取多条记录 (fetchAll)
├── 插入数据 (insert)
├── 更新数据 (update)
├── 删除数据 (delete)
├── 开始事务 (beginTransaction)
├── 提交事务 (commit)
└── 回滚事务 (rollback)
🖼️ 图片处理 (Image) (点击展开显示代码)
├── 创建图片实例 (make)
├── 调整图片大小 (resize)
├── 裁剪图片 (crop)
├── 添加水印 (watermark)
├── 设置输出格式 (format)
├── 保存图片 (save)
└── 获取图片信息 (getInfo)
📊 数据处理 (Data) (点击展开显示代码)
├── 🔄 数组操作
│ ├── 数组过滤 (filter)
│ ├── 数组映射 (map)
│ ├── 数组归约 (reduce)
│ ├── 数据分组 (groupBy)
│ ├── 数据排序 (sortBy)
│ ├── 获取唯一值 (unique)
│ ├── 提取字段值 (pluck)
│ ├── 数据透视表 (pivot)
│ ├── 矩阵转置 (transpose)
│ └── 数据分页 (paginate)
├── 📈 统计分析
│ ├── 统计分析 (stats)
│ ├── 百分位数 (percentile)
│ ├── 相关系数 (correlation)
│ ├── 线性回归 (linearRegression)
│ ├── 移动平均 (movingAverage)
│ ├── 增长率 (growthRate)
│ ├── 指数平滑 (exponentialSmoothing)
│ ├── 异常值检测 (detectOutliers)
│ ├── 数据标准化 (normalize)
│ ├── 数据标准化 (standardize)
│ └── 数据分箱 (bin)
└── 💾 数据导入导出
├── 导出CSV (toCsv)
├── 导入CSV (fromCsv)
├── 导出JSON (toJson)
└── 导出Excel (toExcel)
🔄 异步任务 (Async) (点击展开显示代码)
├── 配置异步任务 (config)
├── 添加任务到队列 (addTask)
├── 批量添加任务 (addTasks)
├── 执行单个任务 (runTask)
├── 执行所有任务 (run)
├── 延迟执行 (delay)
└── 重复执行 (repeat)
📧 邮件发送 (Email) (点击展开显示代码)
├── 配置邮件 (config)
├── 发送邮件 (send)
├── 使用模板发送邮件 (sendTemplate)
└── 批量发送邮件 (sendBulk)
📱 短信发送 (Sms) (点击展开显示代码)
├── 配置短信服务 (config)
├── 发送短信 (send)
├── 发送验证码 (sendVerificationCode)
└── 批量发送短信 (sendBatch)
🔍 网页查询 (Query) (点击展开显示代码)
├── 从 URL 加载 HTML (get)
├── 从 HTML 字符串创建 (__construct)
├── 加载 HTML (loadHtml)
├── CSS 选择器查找 (find)
├── 获取第一个元素 (first)
├── 获取最后一个元素 (last)
├── 按文本内容查找 (findByText)
├── 获取所有链接 (getLinks)
├── 获取所有图片 (getImages)
├── 获取页面标题 (getTitle)
├── 获取 Meta 信息 (getMeta)
├── 获取表单数据 (getFormData)
├── 获取原始 HTML (html)
└── QueryElement 方法
├── 获取文本内容 (text)
├── 获取 HTML (html)
├── 获取属性值 (attr)
└── 获取所有属性 (attrs)
📄 XML 处理 (Xml) (点击展开显示代码)
├── 加载 XML (load)
├── 创建新 XML 文档 (__construct)
├── 添加元素 (add)
├── 添加子元素 (child)
├── 转换为数组 (toArray)
├── 生成 XML 字符串 (toXml)
├── 生成 RSS (toRss)
└── 生成 Sitemap (toSitemap)
📱 二维码 (QRCode) (点击展开显示代码)
├── 🔧 生成二维码
│ ├── 生成二维码矩阵 (generate)
│ ├── 将矩阵转换为 PNG (toPng)
│ └── 保存二维码到文件 (saveToFile)
├── 🔍 识别二维码
│ ├── 识别二维码 (detect)
│ ├── 从图片读取矩阵 (read)
│ └── 解码二维码矩阵 (decode)
└── 🛠️ 工具方法
├── 设置调试模式 (setDebug)
├── 矩阵转ASCII (matrixToAscii)
├── 矩阵转HTML (matrixToHtml)
└── 获取矩阵信息 (getMatrixInfo)
🎨 PHP 代码生成 (PhpGenerator) (点击展开显示代码)
├── 🏗️ 创建生成器
│ ├── 创建类生成器 (createClass)
│ ├── 创建接口生成器 (createInterface)
│ ├── 创建 Trait 生成器 (createTrait)
│ ├── 创建方法生成器 (createMethod)
│ ├── 创建属性生成器 (createProperty)
│ └── 创建命名空间生成器 (createNamespace)
├── 📝 生成文件
│ └── 生成完整 PHP 文件 (generateFile)
└── 🛠️ 工具方法
├── 格式化值 (formatValue)
├── 格式化数组 (formatArray)
├── 转义标识符 (escapeIdentifier)
├── 设置缩进 (setIndentation)
└── 设置行结束符 (setLineEnding)
🛠️ 辅助函数 (HelperFunctions) (点击展开显示代码)
├── 📦 数组操作
│ ├── 数组扁平化 (arrayFlatten)
│ ├── 数组分块 (arrayChunk)
│ ├── 数组分组 (arrayGroupBy)
│ ├── 安全获取数组值 (arrayGet)
│ ├── 提取数组字段值 (arrayPluck)
│ └── 数组差异比较 (arrayDiffAssoc)
├── 🔤 字符串操作
│ ├── 转Pascal命名 (pascalCase)
│ ├── 转驼峰命名 (camelCase)
│ ├── 转蛇形命名 (snakeCase)
│ ├── 转短横线命名 (kebabCase)
│ ├── 截断字符串 (truncate)
│ └── 生成随机字符串 (randomString)
├── ⏰ 时间操作
│ ├── 获取当前时间 (now)
│ ├── 获取今天 (today)
│ ├── 格式化时间 (formatTime)
│ └── 时间差计算 (timeDiff)
├── 📁 文件操作
│ ├── 获取文件扩展名 (getExtension)
│ ├── 获取文件名 (getBasename)
│ ├── 格式化文件大小 (formatFileSize)
│ └── 获取MIME类型 (getMimeType)
├── 🌐 URL操作
│ ├── 构建URL (buildUrl)
│ ├── 解析URL (parseUrl)
│ ├── Base64 URL编码 (base64UrlEncode)
│ └── Base64 URL解码 (base64UrlDecode)
├── ✅ 验证函数
│ ├── 验证邮箱 (isEmail)
│ ├── 验证URL (isUrl)
│ ├── 验证IP (isIp)
│ ├── 验证手机号 (isPhone)
│ └── 验证身份证 (isIdCard)
├── 🔢 数学函数
│ ├── 四舍五入 (roundTo)
│ ├── 计算百分比 (percentage)
│ ├── 判断范围 (between)
│ ├── 最大值 (maxValue)
│ └── 最小值 (minValue)
├── 💾 缓存操作
│ ├── 设置缓存 (setCache)
│ ├── 获取缓存 (getCache)
│ ├── 删除缓存 (deleteCache)
│ └── 清除缓存 (clearCache)
├── 📊 系统信息
│ ├── 获取内存使用 (getMemoryUsage)
│ ├── 获取执行时间 (getExecutionTime)
│ ├── 获取操作系统 (getOS)
│ ├── 获取PHP版本 (getPhpVersion)
│ └── 获取最大上传大小 (getMaxUploadSize)
└── 🛠️ 工具函数
├── 变量输出 (dump)
├── 获取变量类型 (getType)
└── 获取调用栈 (getCallStack)
🔁 事件循环 (EventLoop) (点击展开显示代码)
├── ⏱️ 定时器管理
│ ├── 添加一次性定时器 (addTimer)
│ ├── 添加周期性定时器 (addPeriodicTimer)
│ ├── 取消定时器 (cancelTimer)
│ └── 创建Promise定时器 (createPromiseTimer)
├── 🔄 流管理
│ ├── 添加读流 (addReadStream)
│ ├── 添加写流 (addWriteStream)
│ └── 移除流 (removeStream)
├── 🎯 任务调度
│ ├── 下一个tick执行 (nextTick)
│ └── 未来tick执行 (futureTick)
├── 🌐 网络服务
│ ├── 创建HTTP服务器 (createHttpServer)
│ └── 创建TCP客户端 (createTcpClient)
├── 📁 文件操作
│ ├── 读取文件 (readFile)
│ └── 写入文件 (writeFile)
├── ⚙️ 进程管理
│ └── 创建子进程 (spawnProcess)
└── 🛠️ 控制方法
├── 运行事件循环 (run)
├── 停止事件循环 (stop)
├── 获取状态 (getStatus)
├── 清除所有 (clear)
├── 设置调试模式 (setDebug)
└── 设置tick间隔 (setTickInterval)
📢 事件管理 (EventManager) (点击展开显示代码)
├── 监听事件 (on / attach)
├── 触发事件 (trigger)
├── 触发事件直到返回 true (triggerUntil)
├── 移除事件监听 (off / detach)
└── 获取事件监听器 (getListeners)
🌍 语言检测 (Lang) (点击展开显示代码)
├── 🔍 检测方法
│ ├── 检测语言 (detect)
│ ├── 完成检测并返回结果 (close)
│ ├── 获取最佳结果 (bestResults)
│ └── 转换为字符串 (__toString)
├── ⚙️ 配置方法
│ ├── 设置白名单 (whitelist)
│ ├── 设置黑名单 (blacklist)
│ └── 限制返回结果数量 (limit)
└── 📊 信息方法
├── 判断语言 (is)
├── 检查语言 (check)
├── 获取已加载语言数量 (getLoadedLanguageCount)
├── 检查是否有语言模型 (hasLanguageModel)
└── 获取语言代码映射 (getLanguageCodeMap)
📋 系统要求
- PHP >= 7.4
- ext-json
- ext-mbstring
推荐扩展
- ext-openssl (加密和安全功能)
- ext-curl (HTTP 客户端)
- ext-gd (图片处理)
- ext-pdo (数据库操作)
- ext-xml (XML 处理)
- ext-dom (XML/HTML 解析)
📖 文档
详细文档请访问:https://phptools.kozyax.vip
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License
Copyright (c) 2015~2025 KOZYAX
🙏 致谢
感谢所有为这个项目做出贡献的开发者!
Made with ❤️ by KOZYAX
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-14