atlcom/helper

Atlcom Helper library

Fund package maintenance!
Yoomoney

v1.21 2025-06-11 10:40 UTC

This package is auto-updated.

Last update: 2025-06-11 10:41:26 UTC


README

Класс помощник для работы со строками, числами, массивами.

История изменений

Открыть историю

Установка

composer require atlcom/helper

Описание методов

   

Array

Работа с массивами

arrayDeleteKeys($value, ...$searches): array

Возвращает массив с удаленными ключами

$array = Helper::arrayDeleteKeys(['a' => 1, 'b' => 2], 'a'); // $array = ['b' => 2]
arrayDeleteValues($value, ...$searches): array

Возвращает массив с удаленными значениями

$array = Helper::arrayDeleteValues(['a', 'b'], 'a'); // $array = [1 => 'b']
arrayDot($value): array

Возвращает одномерный массив из многомерного

$array = Helper::arrayDot(['a' => ['b' => 2, 'c' => 3]]); // $array = ['a.b' => 2, 'a.c' => 3]
arrayExcludeTraceVendor($value, $basePath): array

Исключает из массива трассировки пакетные ошибки

$array = Helper::arrayExcludeTraceVendor(debug_backtrace()); // $array = []
arrayFirst($value, $key): mixed

Возвращает значение первого элемента массива

$mixed = Helper::arrayFirst(['a', 'b']); // $mixed === 'a'
$mixed = Helper::arrayFirst(['a' => 1, 'b' => 2]); // $mixed === 1
arrayFlip($value): array

Возвращает массив с заменой местами ключей и значений

$array = Helper::arrayFlip(['a' => 'b']); // $array === ['b' => 'a']
arrayGet($value, $key): mixed

Возвращает значение из массива по имению ключа

$mixed = Helper::arrayGet(['a', 'b'], 0); // $mixed === 'a'
$mixed = Helper::arrayGet(['a' => ['b' => 2, 'c' => 3], 'b' => 4], 'a.b'); // $mixed === 2
$mixed = Helper::arrayGet(['a.b' => 1, 'b' => 2], 'a.b'); // $mixed === 1
arrayLast($value, $key): mixed

Возвращает значение последнего элемента массива

$mixed = Helper::arrayLast(['a', 'b']); // $mixed === 'b'
$mixed = Helper::arrayLast(['a' => 1, 'b' => 2]); // $mixed === 2
arrayMappingKeys($value, $from, $to): array

Возвращает массив с маппингом ключей

$array = Helper::arrayMappingKeys(['a' => 1, 'b' => 2], 'a', 'c'); // $array = ['c' => 1, 'b' => 2]
$array = Helper::arrayMappingKeys([['a' => 1], ['a' => 2]], ['a' => 'c']); // $array = [['c' => 1], ['c' => 2]]
arraySearchKeys($value, ...$searches): array

Возвращает массив найденных ключей в искомом массиве

$array = Helper::arraySearchKeys(['a' => 1, 'b' => 2], 'a'); // $array = ['a' => 1]
$array = Helper::arraySearchKeys(['a' => ['b' => 2, 'c' => 3]], '*.b'); // $array = ['a.b' => 2]
arraySearchKeysAndValues($value, ...$keys, ...$values): array

Возвращает массив найденных ключей в искомом массиве

$array = Helper::arraySearchKeys(['a' => 1, 'b' => 2], 'a'); // $array = ['a' => 1]
$array = Helper::arraySearchKeys(['a' => ['b' => 2, 'c' => 3]], '*.b'); // $array = ['a.b' => 2]
arraySearchValues($value, ...$searches): array

Возвращает массив найденных ключей в искомом массиве

$array = Helper::arraySearchValues(['a', 'b'], 'a'); // $array = ['a']
$array = Helper::arraySearchValues(['abc', 'def'], ['a*', '*f']); // $array = ['abc', 'def']
arrayTrimValues($value, $trims): array

Возвращает массив с применением trim для каждого значения

$array = Helper::arrayTrimValues([' a ', ',b.,:;']); // $array = ['a', 'b']
arrayUnDot($value): array

Возвращает многомерный массив из одномерного

$array = Helper::arrayUnDot(['a.b' => 2, 'a.c' => 3]); // $array = ['a' => ['b' => 2, 'c' => 3]]

   

Bracket

Работа со скобками/тегами

bracketChange($value, $left, $right, $index): string

Возвращает строку с заменой содержимого внутри блока скобок под индексом index на строку change

$string = Helper::bracketChange('(a)(b)', '(', ')', 0, 'c'); // $string = '(c)(b)'
bracketCopy($value, $left, $right, $index): string

Возвращает содержимое внутри блока скобок под индексом index

$string = Helper::bracketCopy('(a)(b)', '(', ')', 0); // $string = 'a'
bracketCount($value, $left, $right): int

Возвращает количество блоков скобок

$integer = Helper::bracketCount('(a)(b)', '(', ')'); // $integer = 2
bracketDelete($value, $left, $right, $index): string

Возвращает строку с удалением блока скобок под индексом index

$string = Helper::bracketDelete('(a)(b)', '(', ')', 0); // $string = '(b)'
bracketReplace($value, $left, $right, $index, $replace): string

Возвращает строку с заменой блока скобок под индексом index на строку replace

$string = Helper::bracketReplace('(a)(b)', '(', ')', 0, '(c)'); // $string = '(c)(b)'
bracketSearch($value, $left, $right, $index, ...$searches): array

Возвращает массив найденных строк с индексами блоков скобок

$array = Helper::bracketSearch('(a)(b)', '(', ')', 'a'); // $array = ['a' => [0]]

   

Cache

Работа с кешем

cacheRuntime($key, $callback, $cacheEnabled): mixed

Сохраняет значение value в кеше по ключу key или возвращает значение при его наличии
Если cacheEnabled выключен, то кеш не используется

$mixed = Helper::cacheRuntime('key', fn () => 1); // $mixed = 1
$mixed = Helper::cacheRuntimeGet('key'); // $mixed = 1
cacheRuntimeClear(): void

Очищает весь кеш

Helper::cacheRuntimeClear(); // 
cacheRuntimeDelete($key): void

Удаляет значение из кеша по ключу key

Helper::cacheRuntimeDelete('key'); // 
cacheRuntimeExists($key): bool

Проверяет существование ключа в кеше и возвращает true/false

$boolean = Helper::cacheRuntimeExists('key'); // $boolean = false
cacheRuntimeGet($key, $default): mixed

Возвращает значение из кеша по ключу key или возвращает значение по умолчанию default

$mixed = Helper::cacheRuntimeGet('key', 'value'); // $mixed = 'value'
cacheRuntimeSet($key, $value): mixed

Сохраняет значение value в кеше по ключу key

$mixed = Helper::cacheRuntimeSet('key', 'value'); // $mixed = 'value'

   

Case

Работа со стилем

caseCamel($value): string

Возвращает строку в стиле camelCase

$string = Helper::caseCamel('abc-def'); // $string = 'abcDef'
caseKebab($value): string

Возвращает строку в стиле kebab-case

$string = Helper::caseKebab('abcDef'); // $string = 'abc-Def'
casePascal($value): string

Возвращает строку в стиле PascalCase

$string = Helper::casePascal('abc-def'); // $string = 'AbcDef'
caseSnake($value): string

Возвращает строку в стиле snake_case

$string = Helper::caseSnake('abcDef'); // $string = 'abc_Def'

   

Cast

Работа с типами

castToArray($value): ?array

Возвращает преобразование значения к массиву или null

$array = Helper::castToArray(1); // $array = [1]
castToBool($value): ?bool

Возвращает преобразование значения к логическому типу или null

$boolean = Helper::castToBool(1); // $boolean = true
castToCallable($value): ?callable

Возвращает преобразование значения к статичной функции с результатом самого значения или null

$callable = Helper::castToCallable(1); // $callable() = 1
castToFloat($value): ?float

Возвращает преобразование значения к вещественному типу или null

$float = Helper::castToFloat(1); // $float = 1.0
castToJson($value): ?string

Возвращает преобразование значения к строке json или null

$json = Helper::castToJson(1); // $json = '"1"'
castToInt($value): ?int

Возвращает преобразование значения к целочисленному типу или null

$integer = Helper::castToInt('1'); // $integer = 1
castToObject($value): ?object

Возвращает преобразование значения к объекту или null

$object = Helper::castToObject(1); // $object = (object)[1]
castToString($value): ?string

Возвращает преобразование значения к строковому типу или null

$string = Helper::castToString(1); // $string = '1'

   

Color

Работа с цветами

colorHexToRgb($value): array

Возвращает массив с RGB цветом из цвета HEX строки

$array = Helper::colorHexToRgb('#000'); // $array = ['r' => 0, 'g' => 0, 'b' => 0, 'a' => null]
$array = Helper::colorHexToRgb('#000000'); // $array = ['r' => 0, 'g' => 0, 'b' => 0, 'a' => null]
$array = Helper::colorHexToRgb('#00000000'); // $array = ['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]
colorRgbToHex($red, $green, $blue, $alpha): string

Возвращает HEX строку из RGB цвета

$string = Helper::colorRgbToHex(0, 0, 0); // $string = '#000000'
$string = Helper::colorRgbToHex(0, 0, 0, 0); // $string = '#00000000'

   

Crypt

Работа с шифрованием

cryptArrayDecode($value, $password): array

Дешифрует все значения элементов массива вида 'hash:crypt'

$array = Helper::cryptArrayDecode(['a' => 'hash:crypt']); // $array = ['a' => 1]
cryptArrayEncode($value, $password, $random)

Шифрует все значения элементов массива с добавлением хеша значения 'hash:crypt'

$array = Helper::cryptArrayDecode(['a' => 1]); // $array = ['a' => 'hash:crypt']
cryptDecode($value, $password): string

Дешифрует строку с паролем

$string = Helper::cryptDecode('nh93432NibR3td26', 'password'); // $string = 'abc'
cryptEncode($value, $password, $random): string

Шифрует строку с паролем

$string = Helper::cryptEncode('abc', 'password'); // $string = 'nh93432NibR3td26'

   

Date

Работа с датами

dateDayName($value): string

Возвращает название дня недели переданного значения

$string = Helper::dateDayName('31.12.2025'); // $string = 'среда'
dateFromString($value): ?Carbon

Возвращает объект Carbon с распознанной датой или null

$date = Helper::dateFromString('в следующий понедельник'); // $date->format('d.m.Y') = 'XX.XX.XXXX'
$date = Helper::dateFromString('через 2 месяца'); // $date->format('d.m.Y') = 'XX.XX.XXXX'
dateToString($value, $declension): ?Carbon

Возвращает дату прописью на русском языке с учетом склонения по падежу

$string = Helper::dateToString(Carbon::parse('01.02.2025')); // $string = 'первое февраля две тысячи двадцать пятый год'

   

Enum

Работа с перечислениями

enumExists($value): bool

Проверяет на существование перечисления по значению и возвращает true/false

$boolean = MyEnum::enumExists('Name1'); // $boolean = true/false
enumFrom($value): ?BackedEnum

Возвращает найденное перечисление по имени, по значению или по перечислению

$enum = MyEnum::enumFrom('Name1'); // $enum = MyEnum::Name1
enumLabel($value): ?string

Возвращает описание перечисления (необходимо реализовать метод enumLabel)

$string = MyEnum::enumLabel(MyEnum::Name1); // $string = 'Name1 (value1)'
enumLabels($value, $label): array

Возвращает список перечислений для ресурса

$array = MyEnum::enumLabels(); // $array = [['value' => 'value1', 'label' => 'Описание 1']]
enumName($value): ?string

Возвращает ключ перечисления

$string = Helper::enumName(MyEnum::Name1); // $string = 'Name1'
enumNames($value): array

Возвращает имена ключей перечисления enum

$array = MyEnum::enumNames(); // $array = ['Name1']
enumRandom($value = null): ?BackedEnum

Возвращает случайное перечисление

$enum = Helper::enumRandom(MyEnum::class); // $enum = MyEnum::Name1
enumToArray($value): array

Возвращает массив ключей и значений enum

$array = MyEnum::enumToArray(); // $array = ['Name1' => 'value1']
enumValue($value): mixed

Возвращает значение перечисления

$mixed = Helper::enumValue(HelperEnumValueEnum::Name1); // $mixed = 'value1'
enumValues($value = null): array

Возвращает значения ключей перечисления enum

$array = MyEnum::enumValues(); // $array = ['value1']

   

Env

Работа с окружением

envDev(): bool

Проверяет окружение приложения на разработку и возвращает true/false

$$boolean = Helper::envDev(); // $boolean = true/false
envGet($value, $file): mixed

Возвращает значение ключа из файла .env

$mixed = Helper::envDev('APP_ENV', '.env.example'); // $mixed = mixed
envLocal(): bool

Проверяет окружение приложения на локальное и возвращает true/false

$boolean = Helper::envLocal(); // $boolean = true/false
envProd(): bool

Проверяет окружение приложения на боевое и возвращает true/false

$boolean = Helper::envProd(); // $boolean = true/false
envStage(): bool

Проверяет окружение приложения на пред боевое и возвращает true/false

$boolean = Helper::envStage(); // $boolean = true/false
envTest(): bool

Проверяет окружение приложения на тестовое и возвращает true/false

$boolean = Helper::envTest(); // $boolean = true/false
envTesting(): bool

Проверяет окружение приложения на авто-тестирование и возвращает true/false

$boolean = Helper::envTesting(); // $boolean = true/false

   

Exception

Работа с исключениями

exceptionToArray($value): array

Возвращает исключение в виде массива

$array = Helper::exceptionToArray(new Exception('Exception message', 400)); // $array = ['code': 400, ...]
exceptionToString($value): string

Возвращает исключение в виде строки json

$string = Helper::exceptionToString(new Exception('message', 400)); // $string = '{"code": 400, ...}'

   

Fake

Работа с генерацией данных

fakeEmail(): string

Возвращает случайно сгенерированный email

$string = Helper::fakeEmail(); // $string = 'abc@asd.ru'
fakeIp4(): string

Возвращает случайно сгенерированный ip адрес v4

$string = Helper::fakeIp4(); // $string = '111.222.33.44'
fakeIp6(): string

Возвращает случайно сгенерированный ip адрес v6

$string = Helper::fakeIp6(); // $string = '2001:0db8:0058:0074:1c60:2c18:1025:2b5f'
fakeName($locale, $surnames, $firstNames, $patronymics): string

Возвращает случайно сгенерированное ФИО

$string = Helper::fakeName(); // $string = 'Иванов Иван Иванович'
fakePassword(): string

Возвращает случайно сгенерированный пароль

$string = Helper::fakePassword(); // $string = 'af3usn5f'
fakePhone(): string

Возвращает случайно сгенерированный номер телефона с/без кодом страны

$string = Helper::fakePhone(); // $string = '79645831465'
fakeUrl($protocols, $domainNames, $domainZones, $paths, $queries, $anchors): string

Возвращает случайно сгенерированный url

$string = Helper::fakeUrl(); // $string = 'http://abc.com/def?a=b#xyz'
fakeUuid4(): string

Возвращает случайно сгенерированный UUID v4

$string = Helper::fakeUuid4(); // $string = 'f1f27725-7a51-4581-a6b8-45f236e50d81'
fakeUuid7(): string

Возвращает случайно сгенерированный UUID v7

$string = Helper::fakeUuid7(); // $string = '019668c4-7b6c-7333-9563-d10b583c4046'

   

Hash

Работа с хешами

hashXxh128($value): string

Возвращает xxh128 хеш значения

$string = Helper::hashXxh128('abc'); // $string = '06b05ab6733a618578af5f94892f3950'

   

Interval

Работа с интервалами

intervalAround($value, $min, $max): int

Возвращает число со смещением по кругу в заданном интервале

$integer = Helper::intervalAround(3 + 1, 1, 3); // $integer = 1
$integer = Helper::intervalAround(1 - 1, 1, 3); // $integer = 3
intervalBetween($value, ...$intervals): array

Проверяет значение на вхождение в интервал(ы)

$bool = (bool)Helper::intervalBetween(2, [1, 10]); // $bool = true
$bool = (bool)Helper::intervalBetween(12, '1..10, 13..20'); // $bool = false
$bool = (bool)Helper::intervalBetween('2025.01.02', '2025.01.01, 2025.01.03..2025.01.04'); // $bool = false
$bool = (bool)Helper::intervalBetween('2025.01.02', ['2025.01.01', '2025.01.03']); // $bool = true
intervalCollection(...$intervals): array

Возвращает число со смещением по кругу в заданном интервале

$array = Helper::intervalCollection(1, 3); // $array = [['equal' => 1], ['equal' => 3]]
$array = Helper::intervalCollection('1..3'); // $array = [['min' => '1', 'max' => '3']]
$array = Helper::intervalCollection([1, 3], 5); // $array = [['min' => 1, 'max' => 3], ['equal' => 5]]
intervalOverlap(...$intervals): array

Проверяет пересечение интервалов

$bool = (bool)Helper::intervalOverlap([1, 3], [2, 4]); // $bool = true
$bool = (bool)Helper::intervalOverlap('1..3', '2..4'); // $bool = false

   

Ip

Работа с ip адресами

ipInRange($value, ...$masks): array

Возвращает массив найденных масок подсетей, в которые входит ip адрес

$array = Helper::ipInRange('192.168.1.1', '192.168.1.0/24'); // $array = ['192.168.1.0/24']

   

Json

Работа с json строками

jsonFlags(): int

Возвращает флаг для формирования json строки

$integer = Helper::jsonFlags(); // $integer = 3146048

   

Jwt

Работа с jwt токенами

jwtDecode($value, ...$masks): array

Возвращает массив с данными из декодированного jwt токена

$array = Helper::jwtDecode('eyJhbGciOiJTSEE1MTIiLCJ0eXAiOiJKV1QifQ.eyJpZCI6MX0.l8fbKNjJWSsZLjVfE5aUOpEhIqbMAxIcon8nZ8NYyPikf_AtjrrN0Y3cPTy1A0U3etLMCbZ6RE00FqFYLZBc7A'); // $array = ['header' => ['alg' => 'SHA512', 'typ' => 'JWT'], 'body' => ['id' => 1]]
jwtEncode($value, ...$masks): array

Возвращает строку с jwt токеном из закодированных данных

$string = Helper::jwtEncode(['id' => 1]); // $string = 'eyJhbGciOiJTSEE1MTIiLCJ0eXAiOiJKV1QifQ.eyJpZCI6MX0.l8fbKNjJWSsZLjVfE5aUOpEhIqbMAxIcon8nZ8NYyPikf_AtjrrN0Y3cPTy1A0U3etLMCbZ6RE00FqFYLZBc7A'

   

Number

Работа с числами

numberCalculate($value, $precision): string

Возвращает строку с результатом калькуляции больших числовых значений в строке

$string = Helper::numberCalculate('1 + 2'); // $string = '3'
numberDecimalDigits($value): int

Возвращает количество знаков дробной части числа

$integer = Helper::numberDecimalDigits(1.123); // $integer = 3
numberFormat($value, $decimals, $separator): string

Возвращает число в виде строки с форматированием

$string = Helper::numberFormat(1000.123); // $string = '1 000,123'
numberFromString($value): int|float

Возвращает число из строки с числом прописью на русском языке

$integer = Helper::numberFromString('сто двадцать три'); // $integer = 123
numberToString($value, $declension, $gender, $enumeration): string

Возвращает число прописью на русском языке с учетом склонения по падежу, роду и числительному перечислению

$string = Helper::numberToString(123.456); // $string = 'сто двадцать три'

   

Path

Работа с путями

pathClassName($value): string

Возвращает имя класса без namespace

$string = Helper::pathClassName('/test/Test.php'); // $string = 'Test'
pathRoot($value = null): string

Возвращает путь домашней папки

$string = Helper::pathRoot(); // $string = '/home/path'

   

Phone

Работа с телефонами

phoneFormat($value, $countryNumber, $format): string

Возвращает отформатированный номер телефона

$string = Helper::phoneFormat('79001112233'); // $string = '+7 (900) 111-22-33'
phoneNumber($value, $countryNumber): string

Возвращает только цифры номера телефона

$string = Helper::phoneNumber('+7 (900) 111-22-33'); // $string = '79001112233'

   

Reflection

Работа с валидацией

reflectionArgumentAttributes($class, $method, $argument): array

Возвращает массив аттрибутов у аргументов метода класса

class Example {public function methodName(#[ExampleAttribute] $paramName)}
$array = Helper::reflectionArgumentAttributes(Example::class, 'methodName', 'paramName'); // $array = [['attribute' => [...], 'arguments' => [...], 'instance' => {...}]]
reflectionClassAttributes($class): array

Возвращает массив аттрибутов у класса

#[ExampleAttribute]
class Example {}
$array = Helper::reflectionClassAttributes(Example::class); // $array = [['attribute' => [...], 'arguments' => [...], 'instance' => {...}]]
reflectionMethodAttributes($class, $method): array

Возвращает массив аттрибутов у методов класса

#[ExampleAttribute]
class Example {#[ExampleAttribute] public function methodName($param)}
$array = Helper::reflectionMethodAttributes(Example::class, 'methodName'); // $array = [['attribute' => [...], 'arguments' => [...], 'instance' => {...}]]
reflectionPhpDoc($class): array

Возвращает массив с разложенными параметрами из всех phpdoc блоков класса

/** description class*/
class Example {
	/** @var string */ public string $propertyName
	/** description method */ public function methodName() {}
}
$array = Helper::reflectionPhpDoc(Example::class); // $array = [...]
reflectionPropertyAttributes($class, $property): array

Возвращает массив аттрибутов у свойств класса

class Example {#[ExampleAttribute] public string $propertyName}
$array = Helper::reflectionPropertyAttributes(Example::class, 'propertyName'); // $array = [['attribute' => [...], 'arguments' => [...], 'instance' => {...}]]

   

Regexp

Работа с валидацией

regexpValidateAscii($value): bool

Проверяет значение строки на формат ascii (латинский алфавита и цифры)

$boolean = Helper::regexpValidateAscii('0-9 AZ az'); // $boolean = true
regexpValidateDate($value): bool

Проверяет значение строки на формат даты

$boolean = Helper::regexpValidateDate('01.01.2025'); // $boolean = true
regexpValidateEmail($value): bool

Проверяет значение строки на формат электронной почты

$boolean = Helper::regexpValidateEmail('Test.example_1@domain.com'); // $boolean = true
regexpValidateIp4($value): bool

Проверяет значение строки на формат ip адреса v4

$boolean = Helper::regexpValidateIp4('111.222.33.44'); // $boolean = true
regexpValidateIp6($value): bool

Проверяет значение строки на формат ip адреса v6

$boolean = Helper::regexpValidateIp6('2001:0db8:0058:0074:1c60:2c18:1025:2b5f'); // $boolean = true
regexpValidateJson($value): bool

Проверяет значение строки на формат json

Helper::regexpValidateJson('{"a":1}'); // $boolean = true
regexpValidatePattern($value): bool

Проверяет значение строки на формат регулярного выражения

$boolean = Helper::regexpValidatePattern('/test/'); // $boolean = true
regexpValidatePhone($value): bool

Проверяет значение строки на формат номера телефона

$boolean = Helper::regexpValidatePhone('+79001234567'); // $boolean = true
regexpValidateUnicode($value): bool

Проверяет значение строки на формат юникода

$boolean = Helper::regexpValidateUnicode('01 AZ az АЯ ая 😀'); // $boolean = true
regexpValidateUrl($value): bool

Проверяет значение строки на формат url

$boolean = Helper::regexpValidateUrl('http://abc.com/def?klm#xyz'); // $boolean = true
regexpValidateUuid4($value): bool

Проверяет значение строки на формат идентификатора uuid v4

$boolean = Helper::regexpValidateUuid4('04d19f50-2fab-417a-815d-306b6a6f67ec'); // $boolean = true
regexpValidateUuid7($value): bool

Проверяет значение строки на формат идентификатора uuid v7

$boolean = Helper::regexpValidateUuid7('019668a4-02a1-7f64-9d90-52760464b9ce'); // $boolean = true

   

Size

Работа с размерами

sizeBytesToString($value): string

Возвращает размер в байтах как строку

$string = Helper::sizeBytesToString(1000); // $string = '1 Кб'
sizeStringToBytes($value): string

Возвращает размер в байтах из строки размера

$integer = Helper::sizeStringToBytes('1 Килобайт'); // $integer = 1000

   

Sql

Работа с sql запросами

sqlBindings($value, $bindings): string

Подставляет значения из массива $bindings вместо плейсхолдеров ? в запросе

$string = Helper::sqlBindings('SELECT * FROM t WHERE a = ?', [1]); // $string = 'SELECT * FROM t WHERE a = 1'
sqlExtractNames($value): array

Возвращает массив разобранного запроса на используемые названия баз данных, таблиц, полей

$array = Helper::sqlExtractNames('SELECT name FROM users', [1]); // $array = ['databases' => ['' => ['tables' => ['users' => ['fields' => ['name']]]]]]
sqlFields($value): array

Возвращает массив используемых названий полей в запросе

$array = Helper::sqlFields('SELECT * FROM users WHERE id = 1 AND active = 0'); // $array = ['users.*', 'users.active', 'users.id']
sqlHasWrite($value): bool

Проверяет запрос на наличие операторов изменения INSERT, UPDATE, DELETE, TRUNCATE

$boolean = Helper::sqlHasWrite('SELECT * FROM users'); // $boolean = false
sqlTables($value): array

Возвращает массив используемых таблиц в запросе

$array = Helper::sqlTables('SELECT * FROM users;'); // $array = ['users']

   

String

Работа со строками

stringBreakByLength($value, $breakType, $partLengthMax, $firstPartLength): array

Разбивает текст на части указанной длины по словам или строкам и возвращает массив строк

$array = Helper::stringBreakByLength('Иванов Иван Иванович', HelperStringBreakTypeEnum::Word, 10); // $array = ['Иванов', 'Иван', 'Иванович']
stringChange(&$value, $change, $start): string

Заменяет на подстроку в строке с позиции start

$string = Helper::stringChange('abc', 'd', 2); // $string = 'abd'
$string = Helper::stringChange('abcefg', 'xyz', -1); // $string = 'abcefxyz'
stringConcat($delimiter, ...$values): string

Соединяет значения values через разделитель delimiter

$string = Helper::stringConcat(' ', 'Иванов', 'Иван', 'Иванович'); // $string = 'Иванов Иван Иванович'
$string = Helper::stringConcat(' ', ['Иванов', 'Иван', 'Иванович']); // $string = 'Иванов Иван Иванович'
stringCopy($value, $start, $length): string

Копирует подстроку из строки с позиции start длиной length

$string = Helper::stringCopy('abc', 1, 1); // $string = 'b'
$string = Helper::stringCopy('abc', -2); // $string = 'bc'
stringCount($value, ...$searches): string

Возвращает количество найденных вхождений подстрок в строке

$integer = Helper::stringCount('abc', 'a'); // $integer = 1
$integer = Helper::stringCount('abc', ['a', 'b']); // $integer = 2
stringCut(&$value, $start, $length): string

Вырезает подстроку из строки с позиции start длиной length

$source = 'abc';
$string = Helper::stringCut($source, 1, 1); // $source = 'ac', $string = 'b'
stringDelete($value, $start, $length): string

Удаляет из строки с позиции start длиной length

$string = Helper::stringDelete('abc', 1, 1); // $string = 'ac'
$string = Helper::stringDelete('abc', -2); // $string = 'a'
stringDeleteMultiples($value, ...$multiples): string

Возвращает строку значения удаляя последовательные повторы подстрок

$string = Helper::stringDeleteMultiples('abcabc', 'abc'); // $string = 'abc'
$string = Helper::stringDeleteMultiples('a--bb', ['-', 'b']); // $string = 'a-b'
stringEnds($value, ...$searches): string

Проверяет конец строки на совпадение подстрок и возвращает найденную подстроку или null

$string = Helper::stringEnds('abc', 'c'); // $string = 'c'
stringLength($value): int

Возвращает длину строки

$integer = Helper::stringLength('123'); // $integer = 3
stringLower($value): string

Переводит строку в нижний регистр

$string = Helper::stringLower('ABC'); // $string = 'abc'
stringLowerFirst($value): string

Возвращает строку с первый символом в нижнем регистре

$string = Helper::stringLowerFirst('Abc'); // $string = 'abc'
stringLowerFirstAll($value): string

Возвращает строку со всеми словами в нижнем регистре

$string = Helper::stringLowerFirstAll('Abc def Ghi-Jkl_Mno'); // $string = 'abc def ghi-jkl_mno'
stringMerge(...$values): string

Объединяет значения в одну строку с заменой предыдущих символов

$string = Helper::stringMerge('abc', 'de'); // $string = 'dec'
stringPadPrefix($value, $prefix, $condition): string

Добавляет в начало строки префикс при выполнении условия condition

$string = Helper::stringPadPrefix('def', 'abc', true); // $string = 'abcdef'
stringPadSuffix($value, $suffix, $condition): string

Добавляет в конец строки суффикс при выполнении условия condition

$string = Helper::stringPadSuffix('abc', 'def', true); // $string = 'abcdef'
stringPaste(&$value, $paste, $start): string

Вставляет подстроку в строку с позиции start

$string = Helper::stringPaste('abc', 'd', 2); // $string = 'abdc'
stringPlural($value, $plurals, $includeValue): string

Возвращает число с числительным названием из массива с тремя вариантами для [0|5..9, 1, 2..4]

$string = Helper::stringPlural(1, ['штук', 'штука', 'штуки']); // $string = '1 штука'
stringPosAll($value, ...$searches): array

Возвращает массив всех позиций искомых подстрок найденных в строке

$array = Helper::stringPosAll('abcd', 'bc', 'd'); // $array = ['bc' => [1], 'd' => [3]]
stringPosAny($value, ...$searches): array

Возвращает массив позиции первой искомой подстроки найденной в строке

$array = Helper::stringPosAny('abcd', ['f', 'b', 'c']); // $array = ['b' => 1]
stringRandom($pattern): string

Возвращает случайную строку по шаблону регулярного выражения

$string = Helper::stringRandom('/[a-z]{10}/'); // $string = 'sfosdjocsh'
stringRepeat($value, $count): string

Возвращает повторяющуюся строку значения указанное количество раз

$string = Helper::stringRepeat('a', 3); // $string = 'aaa'
$string = Helper::stringRepeat(1, 3); // $string = '111'
stringReplace($value, $searches, $replaces): string

Заменяет подстроки в строке

$string = Helper::stringReplace('abcd', 'd', 'x'); // $string = 'abcx'
$string = Helper::stringReplace('abcd', ['d' => 'x']); // $string = 'abcx'
stringReverse($value): string

Возвращает реверсивную строку значения

$string = Helper::stringReverse('abc'); // $string = 'cba'
$string = Helper::stringReverse(123); // $string = '321'
stringSearchAll($value, ...$searches): array

Возвращает массив всех искомых подстрок найденных в строке

$array = Helper::stringSearchAll('abcd', 'bc', 'd'); // $array = ['bc', 'd']
$array = Helper::stringSearchAll('Иванов Иван Иванович', ['*Иван*']); // $array = ['*Иван*']
stringSearchAny($value, ...$searches): array

Возвращает массив первой искомой подстроки найденной в строке

$string = Helper::stringSearchAny('abcd', 'bc'); // $string = ['bc']
$string = Helper::stringSearchAny('abcd', ['ab', 'bc']); // $string = ['ab']
$string = Helper::stringSearchAny('Иванов Иван Иванович', '*Иван*'); // $string = ['*Иван*']
stringSegment($value): string

Возвращает строку с разбиением слитных слов и цифр

$string = Helper::stringSegment('abc2defXyz'); // $string = 'abc 2 def Xyz'
stringSplit($value, $delimiters, $index, $cacheEnabled): array

Возвращает массив подстрок разбитых на части между разделителем в строке

$array = Helper::stringSplit('abc,,def/xyz', [',', '/']); // $array = ['abc', '', 'def', 'xyz']
stringSplitRange($value, $delimiters, $indexFrom, $indexTo, $cacheEnabled): array

Возвращает массив подстрок разбитых на части между разделителем в строке

$string = Helper::stringSplitRange('abc,def,xyz', ',', 1, 1); // $string = 'def'
stringSplitSearch($value, $delimiters, ...$searches): array

Возвращает массив индексов частей между $delimiters, в которых найдены строки $searches

$array = Helper::stringSplitSearch('abc,def', ',', 'a'); // $array = ['a' => [0]]
stringStarts($value, ...$searches): string

Проверяет начало строки на совпадение подстрок и возвращает найденную подстроку

$string = Helper::stringStarts('abc', 'a'); // $string = 'a'
stringUpper($value): string

Переводит строку в верхний регистр

$string = Helper::stringUpper('abc'); // $string = 'ABC'
stringUpperFirst($value): string

Возвращает строку с первый символом в верхнем регистре

$string = Helper::stringUpperFirst('abc'); // $string = 'Abc'
stringUpperFirstAll($value): string

Возвращает строку со всеми словами в верхнем регистре

$string = Helper::stringUpperFirstAll('abc Def ghi-jkl_mno'); // $string = 'Abc Def Ghi-Jkl_Mno'

   

Telegram

Работа с сообщениями телеграм

telegramBreakMessage($value, $hasAttach): array

Разбивает текст сообщения на части для отправки в телеграм

$array = Helper::telegramBreakMessage('Иванов Иван Иванович', false); // $array = ['Иванов Иван Иванович']

   

Time

Работа со временем

timeBetweenDatesToArray($dateFrom, $dateTo): array

Возвращает массив периодов между датами

$array = Helper::timeBetweenDatesToArray('01.01.2025 00:00:00', '02.02.2026 01:02:03'); // $array = ['years' => 1, 'months' => 1, 'days' => 1, 'hours' => 1, 'minutes' => 2, 'seconds' => 3]
timeBetweenDatesToString($dateFrom, $dateTo, $withTime, $time24): array

Возвращает массив периодов между датами

$string = Helper::timeBetweenDatesToString('01.01.2025 00:00:00', '02.02.2026 01:02:03', true); // $string = '1 год 1 месяц 1 день 1 час 2 минуты 3 секунды'
timeFromSeconds($value): string

Возвращает строку вида ##:##:## из переданного количества секунд

$string = Helper::timeFromSeconds(3661); // $string = '01:01:01'
timeSecondsToArray($value): array

Возвращает массив периодов из количества секунд

$array = Helper::timeSecondsToArray(1); // $array = ['years' => 0, 'days' => 0, 'hours' => 0, 'minutes' => 0, 'seconds' => 1, 'milliseconds' => 0]
timeSecondsToString($value, $withZero, $withMilliseconds, $pluralNames): array

Возвращает период из количества секунд в виде строки YDHM

$string = Helper::timeSecondsToString(123); // $string = '2 минуты 3 секунды'

   

Transform

Работа с трансформацией

transformToArray($value): array

Возвращает массив из значения

$array = Helper::transformToArray(['a', 'b']); // $array = ['a', 'b']
$array = Helper::transformToArray('a'); // $array = ['a']

   

Translit

Работа с транслитерацией

translitFromSlug($value, $slugSeparator = '_'): string

Возвращает строку из slug

$string = Helper::translitFromSlug('abv_gde_123'); // $string = 'абв где 123'
translitString($value, $direction): string

Возвращает транслитерацию строки

$string = Helper::translitString('абвгд'); // $string = 'abvgd'
translitToSlug($value, $slugSeparator = '_'): string

Возвращает транслитерацию строки

$string = Helper::translitToSlug('абв Где!.123'); // $string = 'abv_gde_123'

   

Url

Работа с url адресом

urlCreate($scheme, $host, $path, $query): array

Возвращает строку адреса url

$string = Helper::urlCreate(scheme: 'https', host: 'a.com', path: 'b', query: ['c' => 1]); // $string = 'https://a.com/b?c=1'
urlDomainDecode($value): string

Возвращает декодированный русский домен вида xn--

$string = Helper::urlDomainDecode('xn--e1afmkfd.xn--p1ai'); // $string = 'пример.рф'
urlDomainEncode($value): string

Возвращает кодированный русский домен в виде xn--

$string = Helper::urlDomainEncode('пример.рф'); // $string = 'xn--e1afmkfd.xn--p1ai'
urlParse($value): array

Возвращает массив частей адреса url

$array = Helper::urlParse('http://a.com/d/?e=f'); // $array = ['scheme' => 'http', 'host' => 'a.com', 'path' => '/d', 'query' => ['e' => 'f']]

   

Var

Работа с переменными

numberSwap($value1, $value2): void

Меняет местами значения value1 и value2

$integer1 = 1; $integer2 = 2;
Helper::numberSwap($integer1, $integer2); // $integer1 = 2, $integer2 = 1