Допоміжні функції
Nette\Utils\Helpers — це статичний клас з корисними функціями.
Встановлення:
composer require nette/utils
Усі приклади передбачають створений псевдонім:
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 створює повідомлення
можливо, ви мали на увазі ...?.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', не 'baz'