Вспомогательные функции
Nette\Utils\Helpers — это статический класс с полезными функциями.
Установка:
composer require nette/utils
Все примеры предполагают созданный псевдоним (alias):
use Nette\Utils\Helpers;
capture (callable $cb): string
Выполняет callback и возвращает захваченный вывод в виде строки.
$res = Helpers::capture(function () use ($template) {
$template->render();
});
clamp (int|float $value, int|float $min, int|float $max): int|float
Ограничивает значение заданным включительным диапазоном min и max.
Helpers::clamp($level, 0, 255);
compare (mixed $left, string $operator, mixed $right): bool
Сравнивает два значения так же, как это делает PHP. Различает операторы
>
, >=
, <
, <=
, =
, ==
, ===
,
!=
, !==
, <>
. Функция полезна в ситуациях, когда
оператор является переменной.
Helpers::compare(10, '<', 20); // true
falseToNull (mixed $value): mixed
Преобразует false
в null
, другие значения не изменяет.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Возвращает последнюю ошибку в PHP или пустую строку, если ошибки не
произошло. В отличие от error_get_last()
, не подвержен влиянию
директивы PHP html_errors
и всегда возвращает текст, а не HTML.
Helpers::getLastError();
getSuggestion (string[] $possibilities, string $value): ?string
Из предложенных вариантов $possibilities
ищет строку, которая
наиболее похожа на $value
, но не совпадает с ней. Поддерживает
только 8-битную кодировку.
Подходит в случае, если определенный вариант недействителен, и мы
хотим посоветовать пользователю похожий (но другой, поэтому
одинаковая строка игнорируется). Таким образом Nette формирует сообщения
did you mean ...?
.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', не 'baz'