Функции-помощники
Nette\Utils\Helpers это статический класс с полезными функциями.
Установка:
composer require nette/utils
Во всех примерах предполагается, что псевдоним уже создан:
use Nette\Utils\Helpers;
capture(callable $cb): string
Выполняет обратный вызов и возвращает захваченный вывод в виде строки.
$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', ne 'baz'