Функції-помічники
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'