Проверяет является ли строка целым числом.
Str::isInt('100') // true
Str::isInt('10.0') // false
Проверяет является ли строка почтовым адресом.
Str::isEmail('a@a.ru') // true
Str::isEmail('@ya.com.ru') // false
Проверяет является ли строка валидным JSON-ом.
Str::isJSON('{}') // true
Генерирует случайную строку.
Str::random() // string( 8) "uHS57IDP"
Str::random('alnum') // string( 8) "uHS57IDP"
Str::random('alnum', 16) // string(16) "V73WeufIbvcnsCRO"
Str::random('numeric') // string( 8) "19520780"
Str::random('nonzero') // string( 8) "19527787"
Str::random('unique') // string(32) "f6a195bd32d4a195b55eeed7acf4ce9f"
Генерирует случайную строку, используя только заданные символы.
Str::randomFrom('0123456789ABCDEF', 6) // string(6) "4F7DAC"
Генерирует GUID.
Str::generateGUID() // 6acd8c8f-6454-4295-acf7-998b96fe2c0b
Проверяет начинается ли строка с указанной.
Str::beginsWith('Hello World', 'Hell') // true
Str::beginsWith('Hello World', 'hell') // false
Проверяет заканчивается ли строка указанной.
Str::endsWith('Hello World', 'World') // true
Str::endsWith('Hello World', 'world') // false
Проверяет содержит ли строка указанную подстроку.
Str::contains('Hello World', 'lo Wo') // true
Str::contains('Hello World', 'lo wo') // false
Возвращает первую часть строки, разделяя её указанным символом (разелителем).
По умолчанию разделитель - пробел, и хелпер возвращает первое слово.
Str::firstPart('apple mango pear kiwi') // apple
Str::firstPart('apple,mango,pear,kiwi', ',') // apple
Str::firstPart('apple, mango, pear, kiwi', ', ') // apple
Аналогично firstPart
. Возвращает последнюю часть строки.
Str::lastPart('apple mango pear kiwi') // kiwi
Str::lastPart('apple,mango,pear,kiwi', ',') // kiwi
Str::lastPart('apple, mango, pear, kiwi', ', ') // kiwi
Конвертирует строку в "змеинный"(snaked) стиль.
Str::snake('camelCase') // camel_case
Str::snake('Some Title String') // some_title_string
Str::snake('spaced words string') // spaced_words_string
Str::snake('spaced words string', '!') // spaced!words!string
Конвертирует строку в studly-стиль.
Str::studly('snake_case') // SnakeCase
Str::studly('camelCase') // CamelCase
Str::studly('slug-style') // SlugStyle
Str::studly('spaced string') // SpacedString
Конвертирует строку в "верблюжий"(camel) стиль.
Str::camel('snake_case') // SnakeCase
Str::camel('camelCase') // CamelCase
Str::camel('slug-style') // SlugStyle
Str::camel('spaced string') // SpacedString
Возвращает $i
-ую часть строки, раделяя её указанным разделителем $delimiter
или возвращает указанное $default
значение.
Str::part('hello world', 0, ' ') // 'hello'
Str::part('some spaced string', 1, ' ') // 'spaced'
Str::part('snake_case', 0, '_') // 'snake'
Str::part('use default default', 3, ' ') // <null>
Str::part('use my default', 3, ' ', 'my-default') // 'my-default'
Возвращает $i
-ое слово. Работает также как ::part()
с пробелом (' '
) в качестве разделителя.
Str::word('hello world', 0) // 'hello'
Str::word('some spaced string', 1) // 'spaced'
Str::word('use default default', 3) // <null>
Str::word('use my default', 3, 'my-default') // 'my-default'
Проверяет содержит ли строка цифры.
Str::('some string') // false
Str::('some string 2') // true
Str::('some2string') // true
Вырезает из строки все вхождения указанной строки.
Str::cut('hello world', 'hello') // ' world'
Str::cut('some, several, words', ',') // 'some several words'
Вырезает из строки все вхождения указанной строки.
Str::build('{scheme}://{domain}/', ['scheme' => 'http', 'domain' => 'phpcolibri.com']) // 'http://phpcolibri.com/'
Arr::overwrite(array $array, array $with)
Рекурсивно перезаписывает значения массива.
$array = [
'key1' => 'value1',
'key2' => 'value2',
'nested' => [
'n1' => 123,
'n2' => 'nested value 2',
],
];
$with = [
'key2' => 'new value for key2',
'nested' => [
'n2' => 'new value for nested.n2',
],
];
$result = Arr::overwrite($array, $with);
// После чего в `$result` будет следующее:
$result == [
'key1' => 'value1',
'key2' => 'new value for key2',
'nested' => [
'n1' => 123,
'n2' => 'new value for nested.n2',
],
]
Arr::get(array $array, string $dottedKey, mixed $default = null)
Достаёт значение из массива, используя нотацию "через точку" (вложенные ключи записываются через точку).
Если ключ отсутствует, возвращает $default
значение.
$array = [
'key1' => 'value1',
'key2' => 'value2',
'nested' => [
'n1' => 123,
'n2' => 'nested value 2',
],
];
Arr::get($array, 'key2') // 'value2'
Arr::get($array, 'key3') // null
Arr::get($array, 'nested.n1') // 123
Arr::get($array, 'nested.n2') // 'nested value 2'
Arr::set(array $array, string $dottedKey, mixed $value)
Задаёт значение элемента массива, используя нотацию "через точку" (вложенные ключи записываются через точку).
Если ключ отсутствует, то элемент с соответствующим ключом будет создан.
$array = [
'key1' => 'value1',
'nested' => [
'n1' => 123,
'n2' => 'nested value 2',
],
];
Arr::set($array, 'key2', 'value2')
Arr::set($array, 'nested.n2', 'new nested value 2')
// После чего в `$array` будет следующее:
$array == [
'key1' => 'value1',
'key2' => 'value2',
'nested' => [
'n1' => 123,
'n2' => 'new nested value 2',
],
];
Arr::remove(array &$array, string $dottedKey)
Удаляет элемент из массива по ключу с нотацией "через точку".
$array = [
'key1' => 'value1',
'nested' => [
'n1' => 123,
'n2' => 'nested value 2',
],
];
$result = Arr::remove($array, 'nested.n2');
// После чего в `$result` будет следующее:
$result == [
'key1' => 'value1',
'nested' => [
'n1' => 123,
],
]
Arr::only(array $array, array $keys)
Возвращает массив только с теми значениями, ключи которых указаны в $keys.
$array = [
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3',
'key4' => 'value4',
];
$result = Arr::only($array, ['key2', 'key4']);
// После чего в `$result` будет следующее:
$result == [
'key2' => 'value2',
'key4' => 'value4',
]
Arr::contains(array $array, mixed $value)
Проверяет содержится ли значение в массиве
$array = [
'key1' => 'value1',
'key2' => 123,
]
Arr::contains($array, 'key1') // false
Arr::contains($array, 'key2') // false
Arr::contains($array, 'value1') // true
Arr::contains($array, 123) // true
Arr::contains($array, 375) // false
Возвращает MIME-Type фала.
File::getMimeType('some-code.php') // 'text/x-php'
File::getMimeType('some-image.jpeg') // 'image/jpeg'
Создаёт превью для изображения, сохраняя соотношение сторон.
Image::createThumbnail(string $path, int $width = 100, int $height = 100, string $resizeType = self::RESIZE_FILLED, int $bgColor = 0xfff5ee)
$path
- путь до изображения$width
- ширина превью (по умолчанию 100)$height
- высота превью (по умолчанию 100)$resizeType
- одна из{ Image::RESIZE_FILLED | Image::RESIZE_CROPPED }
констант. Заполнять образовавшиеся поля с цветом$bgColor
или обрезать их. (по умолчаниюImage::RESIZE_FILLED
(заполнять))$bgColor
- цвет для заполнения, если указанImage::RESIZE_FILLED
(по умолчанию 0xfff5ee)