Funkcje pomocnicze
Nette\Utils\Helpers to statyczna klasa z przydatnymi funkcjami.
Instalacja:
composer require nette/utils
Wszystkie przykłady zakładają utworzony alias:
use Nette\Utils\Helpers;
capture (callable $cb): string
Wykonuje callback i zwraca przechwycone wyjście jako ciąg znaków.
$res = Helpers::capture(function () use ($template) {
$template->render();
});
clamp (int|float $value, int|float $min, int|float $max): int|float
Ogranicza wartość do danego zakresu włącznego min i max.
Helpers::clamp($level, 0, 255);
compare (mixed $left, string $operator, mixed $right): bool
Porównuje dwie wartości w ten sam sposób, jak robi to PHP. Rozróżnia operatory >
, >=
,
<
, <=
, =
, ==
, ===
, !=
, !==
,
<>
. Funkcja jest przydatna w sytuacjach, gdy operator jest zmienny.
Helpers::compare(10, '<', 20); // true
falseToNull (mixed $value): mixed
Konwertuje false
na null
, innych wartości nie zmienia.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Zwraca ostatni błąd w PHP lub pusty ciąg znaków, jeśli nie wystąpił żaden błąd. W przeciwieństwie do
error_get_last()
, nie podlega wpływowi dyrektywy PHP html_errors
i zawsze zwraca tekst, a
nie HTML.
Helpers::getLastError();
getSuggestion (string[] $possibilities, string $value): ?string
Z oferowanych możliwości $possibilities
szuka ciągu znaków, który jest najbardziej podobny do
$value
, ale nie identyczny. Obsługuje tylko kodowanie 8-bitowe.
Przydaje się w przypadku, gdy określona opcja jest nieprawidłowa i chcemy doradzić użytkownikowi podobną (ale inną,
dlatego ignorowany jest identyczny ciąg). W ten sposób Nette tworzy komunikaty did you mean ...?
.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', nie 'baz'