Hilfsfunktionen
Nette\Utils\Helpers ist eine statische Klasse mit nützlichen Hilfsfunktionen.
Installation:
composer require nette/utils
Alle Beispiele setzen voraus, dass dieser Klassen-Alias definiert ist:
use Nette\Utils\Helpers;
capture (callable $func): string
Führt einen Callback aus und gibt die aufgefangene 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
Begrenzt einen Wert auf den durch min und max angegebenen Bereich, jeweils einschließlich.
Helpers::clamp($level, 0, 255);
compare (mixed $left, string $operator, mixed $right): bool
Vergleicht zwei Werte auf dieselbe Weise wie PHP. Unterstützt werden die Operatoren >, >=,
<, <=, =, ==, ===, !=, !==,
<>. Die Funktion ist in Situationen nützlich, in denen der Operator dynamisch bestimmt wird (also in einer
Variablen steht).
Helpers::compare(10, '<', 20); // true
falseToNull (mixed $value): mixed
Wandelt false in null um; andere Werte bleiben unverändert.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Gibt den zuletzt aufgetretenen PHP-Fehler zurück oder einen leeren String, wenn kein Fehler aufgetreten ist. Anders als
error_get_last() wird sie von der PHP-Direktive html_errors nicht beeinflusst und gibt immer Text
zurück, kein HTML.
Helpers::getLastError();
getSuggestion (string[] $possibilities, string $value): ?string
Findet unter den angegebenen $possibilities den String, der $value am ähnlichsten, aber nicht
identisch ist. Unterstützt werden nur 8-Bit-Kodierungen.
Das ist nützlich, wenn eine bestimmte Option ungültig ist und Sie dem Benutzer eine ähnliche Alternative vorschlagen wollen (aber eine andere, deshalb werden identische Strings übergangen). So erzeugt Nette die Meldungen “did you mean …?”.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', nicht 'baz'
splitClassName (string $name): array
Zerlegt den Namen einer PHP-Klasse in einen Namespace und einen kurzen Klassennamen. Gibt ein Array aus zwei Strings zurück, wobei der erste der Namespace und der zweite der Klassenname ist.
Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo'); // ['', 'Foo']