Helper Functions

Nette\Utils\Helpers is a static class with useful functions.


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) {

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.


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'
version: 4.0 3.x