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']
Version: 4.x