Fonctions utilitaires
*********************
.[perex]
[api:Nette\Utils\Helpers] est une classe statique contenant des fonctions utilitaires bien pratiques.
Installation :
```shell
composer require nette/utils
```
Tous les exemples supposent que l'alias de classe suivant est défini :
```php
use Nette\Utils\Helpers;
```
capture(callable $func): string .[method]
-----------------------------------------
Exécute un callback et retourne sous forme de chaîne la sortie capturée.
```php
$res = Helpers::capture(function () use ($template) {
$template->render();
});
```
clamp(int|float $value, int|float $min, int|float $max): int|float .[method]
----------------------------------------------------------------------------
Borne une valeur à la plage inclusive délimitée par min et max.
```php
Helpers::clamp($level, 0, 255);
```
compare(mixed $left, string $operator, mixed $right): bool .[method]
--------------------------------------------------------------------
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).
```php
Helpers::compare(10, '<', 20); // true
```
falseToNull(mixed $value): mixed .[method]
------------------------------------------
Convertit `false` en `null` ; les autres valeurs restent inchangées.
```php
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
```
getLastError(): string .[method]
--------------------------------
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.
```php
Helpers::getLastError();
```
getSuggestion(string[] $possibilities, string $value): ?string .[method]
------------------------------------------------------------------------
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 ...?".
```php
$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 .[method]{data-version:4.0.10}
------------------------------------------------------------------
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.
```php
Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo'); // ['', 'Foo']
```
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']