Вспомогательные функции

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'
версия: 4.0