Fonctions utilitaires

Nette\Utils\Helpers est une classe statique contenant des fonctions utilitaires bien pratiques.

Installation :

composer require nette/utils

Tous les exemples supposent que l'alias de classe suivant est défini :

use Nette\Utils\Helpers;

capture (callable $func): string

Exécute un callback et retourne sous forme de chaîne la sortie capturée.

$res = Helpers::capture(function () use ($template) {
	$template->render();
});

clamp (int|float $value, int|float $min, int|float $max): int|float

Borne une valeur à la plage inclusive délimitée par min et max.

Helpers::clamp($level, 0, 255);

compare (mixed $left, string $operator, mixed $right)bool

Compare deux valeurs de la même façon que PHP. Elle prend en charge les opérateurs >, >=, <, <=, =, ==, ===, !=, !==, <>. La fonction est utile lorsque l'opérateur est déterminé dynamiquement (c'est une variable).

Helpers::compare(10, '<', 20); // true

falseToNull (mixed $value)mixed

Convertit false en null ; les autres valeurs restent inchangées.

Helpers::falseToNull(false); // null
Helpers::falseToNull(123);   // 123

getLastError(): string

Retourne la dernière erreur PHP survenue, ou une chaîne vide si aucune erreur n'est survenue. Contrairement à error_get_last(), elle n'est pas affectée par la directive PHP html_errors et retourne toujours du texte, jamais du HTML.

Helpers::getLastError();

getSuggestion (string[] $possibilities, string $value): ?string

Parmi les $possibilities données, elle trouve la chaîne la plus proche de $value, sans être identique. Elle ne prend en charge que les encodages 8 bits.

C'est utile quand une option est invalide et que vous voulez suggérer une variante proche à l'utilisateur (mais différente, d'où l'exclusion des chaînes identiques). C'est ainsi que Nette produit ses messages “did you mean …?”.

$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo');   // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz');  // 'bar', et non 'baz'

splitClassName (string $name)array

Découpe un nom de classe PHP en un espace de noms et un nom de classe court. Retourne un tableau de deux chaînes : la première est l'espace de noms, la seconde le nom de la classe.

Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo');                 // ['', 'Foo']
version: 4.x