承接 danilovl/helper-utils 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

danilovl/helper-utils

最新稳定版本:v0.0.1

Composer 安装命令:

composer require danilovl/helper-utils

包简介

Universal collection of helper utilities: dates, strings, arrays, files, network, reflection, hashing, colors and more.

README 文档

README

phpunit downloads latest Stable Version license

🛠️ Helper Utils

Universal collection of PHP 8.5+ helper utilities — dates, strings, arrays, files, network, reflection, hashing, colors, validation and more.

This is a standalone library, not a Symfony bundle. It does not require any framework configuration. Helpers that depend on the current time, timezone, or other side-effects either accept those as explicit method parameters (for static helpers) or are injected via constructor (for service helpers).

🚀 Key Features

  • Modern PHP: Strictly typed for PHP 8.5+.
  • Zero Configuration: Works out of the box in any project.
  • Framework Agnostic: Core logic is pure PHP, with optional integrations for Symfony components.
  • Testable: Design focuses on mockability and explicit state management.
  • Developer Experience: Consistent naming, clean API, and comprehensive documentation.

📦 Installation

composer require danilovl/helper-utils

🛠️ Included Helpers

Static Helpers

All helper classes are final with private constructors.

Group Classes Description
Array ArrayHelper, ArrayMapHelper, CollectionHelper Operations with arrays, mapping, filtering, and grouping.
Color ColorHelper Color manipulation and conversions (HEX, RGB).
Compare CompareHelper, VersionHelper Value and semantic version comparison utilities.
Date DateHelper, DatePeriodHelper, BusinessDayHelper Powerful date parsing, manipulation, and period calculations.
File FileHelper, PathHelper Filesystem operations, path handling, and metadata.
Form FormValidationMessageHelper Symfony Form error extraction and management.
Hash HashHelper, TokenHelper Secure hash generation and token utilities.
Json JsonHelper Safe JSON encoding and decoding.
Locale LocaleHelper, CountryHelper Geographic and linguistic data, country codes.
Network IpHelper, UrlHelper IP manipulation (anonymization, ranges) and URL handling.
Number NumberHelper, MoneyHelper Formatting numbers, currency, and byte sizes.
Object CloneHelper, ObjectHelper Deep cloning and dynamic property access.
Reflection ReflectionHelper, AttributeHelper, EnumHelper Advanced reflection for classes, attributes, and Enums.
String StringHelper, HtmlHelper, TextHelper String manipulation, slugging, masking, and HTML cleaning.
Validator ValidatorHelper Helpers for Symfony validation component.
Misc RetryHelper Miscellaneous utilities like retry logic.

Service Helpers

DI-injectable, final readonly where stateless.

  • ClockAwareDateHelper: Time-sensitive operations using PSR-20 Clock.
  • DoctrineHelper: Doctrine ORM metadata and entity manager shortcuts.
  • MemoryHelper: Real-time memory usage tracking and formatting.
  • RequestHelper: Convenient wrapper for Symfony's Request objects.
  • TimerHelper: Precise code execution timing and measurement.

Enums

  • ByteUnit: Constants for data size units (B, KB, MB, etc.).
  • ComparisonOperator: Common comparison operators for flexible logic.
  • DateFormat: Standardized date and time format strings.

💡 Quick Examples

Static Helpers

use Danilovl\HelperUtils\Helper\Date\DateHelper;
use Danilovl\HelperUtils\Helper\String\StringHelper;
use Danilovl\HelperUtils\Helper\Network\IpHelper;

// Dates — explicit "now" for testability
$age  = DateHelper::calculateAge(new DateTimeImmutable('1990-04-25'));
$past = DateHelper::isPast($someDate, $now);

// Strings
$slug = StringHelper::slugify('Привет, мир!');           // "privet-mir"
$mask = StringHelper::maskEmail('john.doe@example.com'); // "j******e@example.com"

// IP Utilities
$ok   = IpHelper::isIpInRange('192.168.1.5', '192.168.1.0/24');
$anon = IpHelper::anonymize('192.168.1.123');             // "192.168.1.0"

Services (Dependency Injection)

use Danilovl\HelperUtils\Service\RequestHelper;
use Danilovl\HelperUtils\Service\ClockAwareDateHelper;

public function __construct(
    private RequestHelper $requestHelper,
    private ClockAwareDateHelper $clock,
) {}

$ip  = $this->requestHelper->getClientIp();
$now = $this->clock->now(); // Easily mockable

🧪 Quality Assurance

We maintain high testing standards to ensure reliability.

composer tests

The package currently includes 397 unit tests and 766 assertions.

Test Coverage

Group Status
Array, Color, Compare, Date, File, Hash, Json, Locale, Network, Number, Object, Reflection, String, Validator, Misc ✅ Full
Service (Request, Clock, Doctrine, Memory, Timer) ✅ Full

📜 Design Principles

  • Immutability: Preference for \DateTimeImmutable.
  • Explicitness: "Now"-dependent methods accept an explicit timestamp.
  • Safety: Methods follow the doSomething (throws) / trySomething (returns null) pattern.
  • Non-Invasive: Wraps powerful libraries (Symfony, Doctrine) rather than reinventing wheels.
  • Finality: Classes are final to prevent fragile inheritance.

📄 License

The HelperUtils is open-sourced software licensed under the MIT license.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固