Helper Functions
Nette\Utils\Helpers is a static class with useful functions.
Installation:
composer require nette/utils
All examples assume the following class alias is defined:
use Nette\Utils\Helpers;
capture(callable $cb): string
Executes a callback and returns the captured output as a string.
$res = Helpers::capture(function () use ($template) {
$template->render();
});
clamp(int|float $value, int|float $min, int|float $max): int|float
Returns value clamped to the inclusive range of min and max.
Helpers::clamp($level, 0, 255);
compare(mixed $left, string $operator, mixed $right): bool
Compares two values in the same way PHP does. It distinguishes between the operators >
, >=
,
<
, <=
, =
, ==
, ===
, !=
, !==
,
<>
. The function is useful in situations where the operator is variable.
Helpers::compare(10, '<', 20); // true
falseToNull(mixed $value): mixed
Converts false
to null
, does not change other values.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Returns the last occurred PHP error or an empty string if no error occurred. Unlike error_get_last()
, it is not
affected by the PHP directive html_errors
and always returns text, not HTML.
Helpers::getLastError();
getSuggestion(string[] $possibilities, string $value): ?string
Looks for a string from $possibilities
that is most similar to $value
, but not the same. Supports
only 8-bit encodings.
It is useful if a certain option is not valid and we want to suggest the user a similar one (but different, so the same string
is ignored). In this way, Nette creates messages did you mean ...?
.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', ne 'baz'