kozyaxbiz/kozyax-tools

پروگرامما ياساشتا ئىشلىتىدىغان PHP جەملەنگەن ئىقتىدارلار جوغلانمىسى | Comprehensive PHP utility library for application development

Installs: 3

Dependents: 0

Suggesters: 0

Security: 0

pkg:composer/kozyaxbiz/kozyax-tools

3.1.0 2025-11-14 19:52 UTC

This package is not auto-updated.

Last update: 2026-01-10 15:43:53 UTC


README

پروگرامما ياساشتا ئىشلىتىدىغان PHP جەملەنگەن ئىقتىدارلار جوغلانمىسى 用于程序开发的 PHP 语言所具备的功能列表

👤 作者

KOZYAX

📦 安装

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