Hilfsfunktionen
Nette\Utils\Helpers ist eine statische Klasse mit nützlichen Hilfsfunktionen.
Installation:
composer require nette/utils
Alle Beispiele setzen voraus, dass der folgende Alias definiert wurde:
use Nette\Utils\Helpers;
capture (callable $cb): string
Führt einen Callback $cb
aus und gibt dessen erfasste Ausgabe als String zurück.
$res = Helpers::capture(function () use ($template) {
$template->render();
});
clamp (int|float $value, int|float $min, int|float $max): int|float
Schränkt einen Wert $value
auf den angegebenen inklusiven Bereich zwischen $min
und
$max
ein.
Helpers::clamp($level, 0, 255);
compare (mixed $left, string $operator, mixed $right): bool
Vergleicht zwei Werte ($left
, $right
) auf die gleiche Weise wie PHP, unter Verwendung des angegebenen
$operator
. Unterstützt die Operatoren >
, >=
, <
, <=
,
=
, ==
, ===
, !=
, !==
, <>
. Die Methode ist
nützlich in Situationen, in denen der Operator variabel ist.
Helpers::compare(10, '<', 20); // true
falseToNull (mixed $value): mixed
Konvertiert false
zu null
, andere Werte bleiben unverändert.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Gibt den letzten PHP-Fehler als String zurück oder einen leeren String, wenn kein Fehler aufgetreten ist. Im Gegensatz zu
error_get_last()
wird das Ergebnis nicht von der PHP-Direktive html_errors
beeinflusst und ist immer
Text (kein HTML).
Helpers::getLastError();
getSuggestion (string[] $possibilities, string $value): ?string
Sucht in den $possibilities
nach dem String, der $value
am ähnlichsten, aber nicht identisch ist.
Unterstützt nur 8-Bit-Kodierungen.
Dies ist nützlich, wenn eine angegebene Option ungültig ist und man dem Benutzer eine ähnliche vorschlagen möchte (aber
eine andere, weshalb der identische String ignoriert wird). Auf diese Weise erstellt Nette die
Did you mean ...?
-Meldungen.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', nicht 'baz'