Skip to content

Commit 9d3f16a

Browse files
author
苏青安
committed
README变更
1 parent 8a36bcd commit 9d3f16a

File tree

1 file changed

+124
-0
lines changed

1 file changed

+124
-0
lines changed

README.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# hejunjie/utils
2+
3+
一个零碎但实用的 PHP 工具函数集合库。
4+
5+
> 🌱 很多实现原理都不复杂,但总在项目里反复写,写多了心态有点崩。
6+
> 干脆集中起来,不重复造轮子,省心省力。
7+
8+
## 安装方式
9+
10+
```bash
11+
composer require hejunjie/utils
12+
```
13+
14+
## 用途 & 初衷
15+
这是一个典型的「开发者懒癌工具库」。
16+
17+
在日常项目中,你可能也经常遇到这些情况:
18+
19+
一个数组操作写了无数次;
20+
21+
文件大小格式化总要搜 StackOverflow;
22+
23+
想判断字符串是不是 JSON、是不是手机号、是不是邮箱,结果各种复制粘贴;
24+
25+
项目变了,原来的工具类又得重新封装一遍...
26+
27+
所以,我把这些经常用、常见又简单的小方法统一整理了一下,写成这个工具库。不求高级,不追花哨,目标就是:简单易用,解放双手。
28+
29+
## 当前支持的方法(更新中)
30+
31+
## 当前支持的方法列表
32+
33+
### 字符串操作
34+
35+
| 方法 | 说明 |
36+
| :------------------------------ | :------------------------------- |
37+
| Str::containsAny() | 检查字符串中是否存在数组中的内容 |
38+
| Str::padString() | 补充特定字符串,使其达到指定长度 |
39+
| Str::replaceFirst() | 替换字符串中第一次出现的搜索值 |
40+
| Str::generateRandomString() | 生成随机字符串 |
41+
| Str::getRandomSurname() | 获取随机姓氏 |
42+
| Str::truncateString() | 截断字符串 |
43+
| Str::maskString() | 字符串掩码 |
44+
| Str::removeWhitespace() | 移除字符串中的所有空白字符 |
45+
| Str::stringEncrypt() | 字符串加密(AES-128-CBC) |
46+
| Str::stringDecrypt() | 字符串解密(AES-128-CBC) |
47+
| Str::formatDurationFromSeconds() | 根据秒数转换为可读性时间 |
48+
49+
### 数组操作
50+
51+
| 方法 | 说明 |
52+
| :----------------------------- | :------------------------------- |
53+
| Arr::arrayIntersect() | 获取两个数组的交集 |
54+
| Arr::sortByField() | 根据二维数组中的指定字段排序 |
55+
| Arr::removeDuplicatesByField() | 根据二维数组中指定字段去重 |
56+
| Arr::groupByField() | 根据二维数组中的指定字段进行分组 |
57+
| Arr::arrayToCsv() | 数组转换为 CSV 格式的字符串 |
58+
| Arr::xmlParse() | xml解析为数组 |
59+
| Arr::arrayToXml() | 数组转换为xml |
60+
61+
### 文件操作
62+
63+
| 方法 | 说明 |
64+
| :--------------------------------------- | :------------------------- |
65+
| FileUtils::readFile() | 读取文件内容 |
66+
| FileUtils::writeToFile() | 将内容写入文件 |
67+
| FileUtils::getFileExtension() | 获取文件扩展名 |
68+
| FileUtils::joinPaths() | 拼接多个路径 |
69+
| FileUtils::getFileNameWithoutExtension() | 获取文件名(不带扩展名) |
70+
| FileUtils::fileDelete() | 删除文件或目录 |
71+
| FileUtils::writeUniqueLinesToFile() | 获取文件中的唯一行(去重) |
72+
| FileUtils::getCommonLinesFromFiles() | 从多个文件中获取交集行 |
73+
| FileUtils::extractColumnFromCsvFiles() | 从多个csv文件中快速提取列 |
74+
75+
76+
### 网络请求操作
77+
78+
| 方法 | 说明 |
79+
| :---------------------------- | :----------------------- |
80+
| HttpClient::sendGetRequest() | 使用 cURL 发送 GET 请求 |
81+
| HttpClient::sendPostRequest() | 使用 cURL 发送 POST 请求 |
82+
83+
84+
### 图片操作
85+
86+
| 方法 | 说明 |
87+
| :-------------------------- | :----------------------------------------------------- |
88+
| Img::downloadImageFromUrl() | 从 URL 下载图片 |
89+
| Img::imageToBase64() | 将图片转换为 Base64 字符串 |
90+
| Img::base64ToImage() | 将 Base64 字符串保存为图片 |
91+
| Img::compressImage() | 压缩图片到指定大小(单位 KB),支持多种格式转换为 JPEG |
92+
| Img::resizeImage() | 调整图片分辨率,保持宽高比 |
93+
94+
## 🔧 更多工具包(可独立使用,也可统一安装)
95+
96+
本项目最初是从 [hejunjie/tools](https://github.com/zxc7563598/php-tools) 拆分而来,如果你想一次性安装所有功能组件,也可以使用统一包:
97+
98+
```bash
99+
composer require hejunjie/tools
100+
```
101+
102+
当然你也可以按需选择安装以下功能模块:
103+
104+
[hejunjie/cache](https://github.com/zxc7563598/php-cache) - 多层缓存系统,基于装饰器模式。
105+
106+
[hejunjie/china-division](https://github.com/zxc7563598/php-china-division) - 中国省市区划分数据包。
107+
108+
[hejunjie/error-log](https://github.com/zxc7563598/php-error-log) - 责任链日志上报系统。
109+
110+
[hejunjie/mobile-locator](https://github.com/zxc7563598/php-mobile-locator) - 国内手机号归属地 & 运营商识别。
111+
112+
👀 所有包都遵循「轻量实用、解放双手」的原则,能单独用,也能组合用,自由度高,欢迎 star 🌟 或提 issue。
113+
114+
---
115+
116+
该库后续将持续更新,添加更多实用功能。欢迎大家提供建议和反馈,我会根据大家的意见实现新的功能,共同提升开发效率。
117+
118+
119+
120+
121+
122+
123+
124+

0 commit comments

Comments
 (0)