hejunjie/utils
最新稳定版本:v1.2.1
Composer 安装命令:
composer require hejunjie/utils
包简介
一个零碎但实用的 PHP 工具函数集合库。包含文件、字符串、数组、网络请求等常用函数的工具类集合,提升开发效率,适用于日常 PHP 项目辅助功能 | A lightweight and practical PHP utility library that offers a collection of commonly used helper functions for files, strings, arrays, and HTTP requests—designed to streamline development and support everyday PHP projects.
README 文档
README
English|简体中文A lightweight and practical PHP utility library that offers a collection of commonly used helper functions for files, strings, arrays, and HTTP requests—designed to streamline development and support everyday PHP projects.
???? Many of these implementations are conceptually simple, but rewriting them repeatedly across projects can become quite tedious. To make things easier, I gathered these utilities in one place to avoid reinventing the wheel — saving both time and effort.
This project has been parsed by Zread. If you need a quick overview of the project, you can click here to view it:Understand this project
Installation
Install via Composer:
composer require hejunjie/utils
Purpose & Motivation
This is a typical "Developer's Time-Saving Toolkit." In everyday projects, you may often find yourself dealing with situations like:
Rewriting array operations over and over again;
- Searching StackOverflow every time you need to format file sizes;
- Copy-pasting checks to determine if a string is JSON, a phone number, or an email address;
- Having to refactor your utility classes whenever the project changes...
So, I’ve compiled these simple and frequently-used methods into this toolkit. It’s not about complexity or fancy features; the goal is to keep it simple, easy to use, and save you time and effort.
Currently Supported Methods (Updating)
List of Currently Supported Methods
String Operations
| method | describe |
|---|---|
| Str::containsAny() | Check if a string contains any of the elements in an array |
| Str::padString() | Pad a string to a specified length with a specific character |
| Str::replaceFirst() | Replace the first occurrence of a search value in a string |
| Str::generateRandomString() | Generate a random string |
| Str::getRandomSurname() | Get a random surname |
| Str::truncateString() | Truncate a string |
| Str::maskString() | String masking |
| Str::removeWhitespace() | Remove all whitespace characters from a string |
| Str::stringEncrypt() | Encrypt a string (AES-128-CBC) |
| Str::stringDecrypt() | Decrypt a string (AES-128-CBC) |
| Str::formatDurationFromSeconds() | Convert seconds to a human-readable time format |
Array Operations
| method | describe |
|---|---|
| Arr::arrayIntersect() | Get the intersection of two arrays |
| Arr::sortByField() | Sort a 2D array by a specific field |
| Arr::removeDuplicatesByField() | Remove duplicates from a 2D array based on a specific field |
| Arr::groupByField() | Group a 2D array by a specific field |
| Arr::csvToArray() | Read a CSV file and return it as an array |
| Arr::arrayToCsv() | Convert an array to a CSV formatted string |
| Arr::xmlParse() | Parse XML into an array |
| Arr::arrayToXml() | Convert an array to XML |
File Operations
| method | describe |
|---|---|
| FileUtils::readFile() | Read file contents |
| FileUtils::writeToFile() | Write content to a file |
| FileUtils::getFileExtension() | Get the file extension |
| FileUtils::joinPaths() | Join multiple paths together |
| FileUtils::getFileNameWithoutExtension() | Get the file name (without extension) |
| FileUtils::fileDelete() | Delete a file or directory |
| FileUtils::writeUniqueLinesToFile() | Get unique lines from a file (deduplication) |
| FileUtils::getCommonLinesFromFiles() | Get intersecting lines from multiple files |
| FileUtils::extractColumnFromCsvFiles() | Quickly extract columns from multiple CSV files |
CSV operation
| Method | Explanation |
|---|---|
| Csv::readCsvToArray() | Read CSV file and convert to array |
| Csv::arrayToCsv() | Write the array to a CSV file |
Network Request Operations
| method | describe |
|---|---|
| HttpClient::sendGetRequest() | Send a GET request using cURL |
| HttpClient::sendPostRequest() | Send a POST request using cURL |
| HttpClient::downloadFile() | Download remote files and save them locally |
Image Operations
| method | describe |
|---|---|
| Img::downloadImageFromUrl() | Download an image from a URL |
| Img::imageToBase64() | Convert an image to a Base64 string |
| Img::base64ToImage() | Save a Base64 string as an image |
| Img::compressImage() | Compress an image to a specified size (in KB), with support for converting various formats to JPEG |
| Img::resizeImage() | Resize an image while maintaining aspect ratio |
Export Operations
| method | describe |
|---|---|
| DataExporter::exportTxt() | Export TXT |
| DataExporter::exportMarkdown() | Export Markdown |
| DataExporter::exportCsv() | Export CSV |
| DataExporter::exportJson() | Export JSON |
| DataExporter::exportSql() | Export SQL |
| DataExporter::exportHtml() | Export HTML |
| DataExporter::exportXml() | Export XML |
???? Additional Toolkits (Can be used independently or installed together)
This project was originally extracted from hejunjie/tools. To install all features in one go, feel free to use the all-in-one package:
composer require hejunjie/tools
Alternatively, feel free to install only the modules you need:
hejunjie/utils - A lightweight and practical PHP utility library that offers a collection of commonly used helper functions for files, strings, arrays, and HTTP requests—designed to streamline development and support everyday PHP projects.
hejunjie/cache - A layered caching system built with the decorator pattern. Supports combining memory, file, local, and remote caches to improve hit rates and simplify cache logic.
hejunjie/china-division - Regularly updated dataset of China's administrative divisions with ID-card address parsing. Distributed via Composer and versioned for use in forms, validation, and address-related features
hejunjie/error-log - An error logging component using the Chain of Responsibility pattern. Supports multiple output channels like local files, remote APIs, and console logs—ideal for flexible and scalable logging strategies.
hejunjie/mobile-locator - A mobile number lookup library based on Chinese carrier rules. Identifies carriers and regions, suitable for registration checks, user profiling, and data archiving.
hejunjie/address-parser - An intelligent address parser that extracts name, phone number, ID number, region, and detailed address from unstructured text—perfect for e-commerce, logistics, and CRM systems.
hejunjie/url-signer - A PHP library for generating URLs with encryption and signature protection—useful for secure resource access and tamper-proof links.
hejunjie/google-authenticator - A PHP library for generating and verifying Time-Based One-Time Passwords (TOTP). Compatible with Google Authenticator and similar apps, with features like secret generation, QR code creation, and OTP verification.
hejunjie/simple-rule-engine - A lightweight and flexible PHP rule engine supporting complex conditions and dynamic rule execution—ideal for business logic evaluation and data validation.
???? All packages follow the principles of being lightweight and practical — designed to save you time and effort. They can be used individually or combined flexibly. Feel free to ⭐ star the project or open an issue anytime!
This library will continue to be updated with more practical features. Suggestions and feedback are always welcome — I’ll prioritize new functionality based on community input to help improve development efficiency together.
统计信息
- 总下载量: 737
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 未知