cloud-castle/support

Набор утилит для PHP 8.1+: строки (Str), массивы (Arr) с dot-нотацией, числа (Num), даты (Dates), объекты (Obj) и глобальные хелперы. Маскирование ПД из коробки, нулевые внешние зависимости.

Maintainers

Package info

gitverse.ru/cloud-castle/support

Homepage

Issues

Documentation

pkg:composer/cloud-castle/support

Transparency log

Statistics

Installs: 49

Dependents: 5

Suggesters: 0

v1.1.1 2026-07-23 18:55 UTC

This package is auto-updated.

Last update: 2026-07-30 05:37:56 UTC


README

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

CloudCastle Support

CloudCastle Support

Packagist Version Downloads PHP Version License

Набор утилит для PHP 8.1+: строки (Str), массивы (Arr), числа (Num), даты (Dates), объекты (Obj) и глобальные хелперы. API совместим с illuminate/support, но быстрее и без единой внешней зависимости.

Установка

composer require cloud-castle/support

Требуется PHP 8.1+.

Быстрый старт

<?php

use CloudCastle\Support\Str;
use CloudCastle\Support\Arr;

echo Str::snake('CloudCastleSupport');     // «cloud_castle_support»
echo Str::camel('foo_bar_baz');            // «fooBarBaz»
echo Str::mask('4111111111111111', '*', 6, 6);  // «411111******1111» — маскирование ПД

$config = ['db' => ['host' => '127.0.0.1', 'port' => 5432]];
echo Arr::get($config, 'db.host');         // «127.0.0.1» — доступ по точечной нотации
$flat = Arr::dot($config);                 // ['db.host' => '127.0.0.1', 'db.port' => 5432]

Возможности

  • Str: snake/camel/studly/kebab/title, after/before/between, contains/startsWith/endsWith, limit/mask/padLeft, многобайтовые upper/lower/length и др.
  • Arr: get/set/has/forget с точечной нотацией, dot/undot, flatten/collapse, pluck, only/except, first/last/where.
  • Num, Dates, Obj и глобальные хелперы (functions.php).
  • Маскирование ПД (Str::mask) — карты, счета, телефоны в логах/ответах.
  • Нулевые внешние зависимости — в отличие от illuminate/support.

Сравнение с аналогами

Все таблицы ниже сгенерированы автоматически из честных сравнительных тестов (benchmarks/compare.php) на ОДИНАКОВОЙ операции для всех аналогов, PHP 8.1.34, без Xdebug.

1. Функциональность

Возможность🏆 CloudCastleilluminateadbariodflydevsymfonyarray¹
Dot-нотация доступа к массиву (get/set/has/forget)
Строковые хелперы (case/mask/slug)
Числовые и датовые хелперы
Хелперы объектов и коллекций
Нулевые внешние зависимости
Всего🏆 542221

2. Безопасность и корректность

Свойство🏆 CloudCastleilluminateadbariodflydevsymfonyarray¹
Null-safe доступ по пути со значением по умолчанию
Маскирование ПД (карты/email/телефоны) из коробки
Многобайтовая корректность строк (UTF-8)
Нулевые внешние зависимости (меньше поверхность атаки)
Типобезопасные строгие сигнатуры хелперов
Всего🏆 543322

3. Производительность

Доступ к вложенному значению по строковому пути, 200 000 раз (минимум из 4).

РешениеВремя (мс)Итог
array¹16,3базовый уровень (не библиотека)
🏆 CloudCastle107,3быстрейшее среди библиотек
dflydev150,6аналог
adbario205,5аналог
illuminate216,8аналог
symfony604,5аналог

4. Потребление памяти

Пик памяти на 200 000 доступов (изолированный процесс, только целевая библиотека).

РешениеПиковая память (KB)Итог
🏆 CloudCastle9 149легчайшее среди библиотек
illuminate9 149аналог
adbario9 149аналог
dflydev9 149аналог
symfony9 149аналог
array¹9 149базовый уровень (не библиотека)

¹ Базовый уровень (нативные вызовы/примитивы без полноты решения) показан для контекста и не претендует на победу среди библиотек-аналогов.

Операция — доступ к вложенному значению по строковому пути (dot- или bracket-синтаксис): её разбирают сами библиотеки. nette/utils в сравнение не входит, так как её Arrays::get принимает готовый массив ключей, а не разбирает путь-строку (иная парадигма API). Память измеряется в изоляции (только целевая библиотека в процессе).

Вывод: CloudCastle Support — самый быстрый разборщик строковых путей (в 2× быстрее illuminate) и самый лёгкий по памяти, с маскированием ПД из коробки и нулевыми внешними зависимостями при широчайшем наборе хелперов (строки, массивы, числа, даты, объекты).

Разработка

composer install
composer check    # линтеры + статический анализ + тесты
composer fix      # автоисправления (Rector, PHP CS Fixer, PHPCBF)
composer ci       # полный CI-пайплайн локально

Полный список команд с описаниями: composer run-script --list.

Документация

Лицензия

MIT © CloudCastle (alex-4-17@yandex.ru)

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano