youhujun/php-tool-youhujun

Tools for facilitating rapid development of PHP applications

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/youhujun/php-tool-youhujun

1.1.0 2026-01-08 20:37 UTC

This package is auto-updated.

Last update: 2026-01-09 17:34:39 UTC


README

📑 阅读文档| 🌐 参考博客

项目简介

php-tool-youhujun 是为了提高php开发效率,无需关乎基础通用功能的实现,将精力聚焦于业务逻辑的开发而催生的.

项目功能

本工具包提供了丰富的 PHP 开发常用功能,涵盖以下模块:

📊 数据处理

  • Excel: Excel 文件的导入和导出功能

📅 日期时间

  • 日历: 公历与农历互转

🏷️ 二维码

  • 二维码生成: 支持多种格式的二维码生成

📨 消息服务

  • 腾讯云短信: 短信发送功能

🗺️ 地图服务

  • 腾讯地图: 地图相关功能

🔐 微信生态

  • 微信小程序: 微信小程序登录
  • 微信公众号: 微信公众号网页授权
  • 微信支付: 微信 JSAPI 支付、支付回调解密

🎵 抖音生态

  • 抖音登录: 抖音小程序和小游戏登录

🔒 加密解密

  • AES 加密: AES 加密解密功能
  • RSA 加密: RSA 公钥加密私钥解密功能

☁️ 云存储

  • 七牛云存储: 文件上传、删除、获取文件信息等

安装

composer require youhujun/php-tool-youhujun

环境要求

  • PHP >= 8.0.2
  • 扩展: openssl, json, gd

使用

Excel 导入导出

use YouHuJun\Tool\App\Facade\V1\Excel\ExcelFacade;

// 导出
ExcelFacade::exportExcelData($columns, $data, $title, $saveDirectory);

// 导入
ExcelFacade::initReadExcel($this->tempFile);
ExcelFacade::setWorkSheet(0);
$result = ExcelFacade::getDataByRow();

// 移除表头后再进行断言,这更符合真实业务场景
array_shift($result);

//数据库操作

日历转换

use YouHuJun\Tool\App\Facade\V1\Calendar\CalendarFacade;

// 农历转公历
$solarDate = CalendarFacade::lunarToSolar($lunarYear, $lunarMonth, $lunarDay, $isLeapMonth);

// 公历转农历
$lunarDate = CalendarFacade::solarToLunar($solarYear, $solarMonth, $solarDay);

二维码生成

use YouHuJun\Tool\App\Facade\V1\Qrcode\QrcodeFacade;

// 生成二维码
$qrCode = QrcodeFacade::generate('https://example.com', $size = 300);
$qrCode->save('qrcode.png');

微信小程序登录

use YouHuJun\Tool\App\Facade\V1\Wechat\MiniProgram\WechatMiniProgramFacade;

// 获取 OpenID
$result = WechatMiniProgramFacade::getOpenIdByCode($code, $appid, $appSecret);

抖音登录

use YouHuJun\Tool\App\Facade\V1\DouYin\Login\DouYinLoginFacade;

// 抖音小程序登录
$result = DouYinLoginFacade::getOpenIdByCodeWithMiniProgram($code, $anonymousCode, $appid, $appSecret);

// 抖音小游戏登录
$result = DouYinLoginFacade::getOpenIdByCodeWithMiniGame($code, $anonymousCode, $appid, $appSecret);

AES 加密解密

use YouHuJun\Tool\App\Facade\V1\Utils\Secret\AESFacade;

// 加密
$encrypted = AESFacade::encrypt('hello world', 'your-key');

// 解密
$decrypted = AESFacade::decrypt($encrypted, 'your-key');

RSA 加密解密

use YouHuJun\Tool\App\Facade\V1\Utils\Secret\RSAFacade;

// 公钥加密
$encrypted = RSAFacade::encrypt('hello world', $publicKey);

// 私钥解密
$decrypted = RSAFacade::decrypt($encrypted, $privateKey);

七牛云存储

use YouHuJun\Tool\App\Facade\V1\Store\QiNiuFacade;

// 初始化配置
QiNiuFacade::init($accessKey, $secretKey, $cdnUrl, $bucket);

// 上传文件
$result = QiNiuFacade::uploadFile($filePath, $savePath);

// 获取私有文件链接
$url = QiNiuFacade::getPrivateFileUrl($savePath);

// 获取公有文件链接
$url = QiNiuFacade::getPublicFileUrl($savePath);
  • 导出
use YouHuJun\Tool\App\Facade\V1\Excel\ExcelFacade;

ExcelFacade::exportExcelData($columns, $data, $title, $saveDirectory);
  • 导入
use YouHuJun\Tool\App\Facade\V1\Excel\ExcelFacade;

ExcelFacade::initReadExcel($this->tempFile);
ExcelFacade::setWorkSheet(0);
$result = ExcelFacade::getDataByRow();

// 移除表头后再进行断言,这更符合真实业务场景
array_shift($result);

//数据库操作

更多文档请查看文档地址

测试

安装测试依赖

composer install --dev

运行测试

  • 单独测试 Excel
composer test --testsuite Excel
  • 单独测试 Calendar
composer test --testsuite Calendar
  • 全部测试
composer test

注意: 部分功能模块(如微信支付、短信服务等)需要第三方服务的 Key 或 AppID,因此暂时不包含在自动测试中。

变更日志

查看详细的版本变更记录,请访问 CHANGELOG.md

文档

更多详细文档请查看文档地址

许可证

MIT License