Funzioni di supporto
Nette\Utils\Helpers è una classe statica che contiene utili funzioni di supporto.
Installazione:
composer require nette/utils
Tutti gli esempi presuppongono che sia definito questo alias di classe:
use Nette\Utils\Helpers;
capture (callable $func): string
Esegue una callback e restituisce come stringa l'output catturato.
$res = Helpers::capture(function () use ($template) {
$template->render();
});
clamp (int|float $value, int|float $min, int|float $max): int|float
Limita un valore all'intervallo indicato da min e max, estremi inclusi.
Helpers::clamp($level, 0, 255);
compare (mixed $left, string $operator, mixed $right): bool
Confronta due valori nello stesso modo in cui lo fa PHP. Supporta gli operatori >, >=,
<, <=, =, ==, ===, !=, !==,
<>. La funzione è utile nelle situazioni in cui l'operatore viene determinato dinamicamente (è una
variabile).
Helpers::compare(10, '<', 20); // true
falseToNull (mixed $value): mixed
Converte false in null; gli altri valori restano invariati.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Restituisce l'ultimo errore PHP verificatosi, oppure una stringa vuota se non si è verificato alcun errore. A differenza di
error_get_last(), non è influenzata dalla direttiva PHP html_errors e restituisce sempre testo,
non HTML.
Helpers::getLastError();
getSuggestion (string[] $possibilities, string $value): ?string
Tra le $possibilities indicate trova la stringa più simile a $value, ma non identica. Supporta solo
le codifiche a 8 bit.
È utile quando una certa opzione non è valida e volete suggerire all'utente un'alternativa simile (ma diversa, ed è per questo che le stringhe identiche vengono ignorate). È così che Nette genera i messaggi “intendevi forse …?”.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', non 'baz'
splitClassName (string $name): array
Divide il nome di una classe PHP in un namespace e in un nome breve di classe. Restituisce un array di due stringhe, dove la prima è il namespace e la seconda è il nome della classe.
Helpers::splitClassName('Nette\Utils\Helpers'); // ['Nette\Utils', 'Helpers']
Helpers::splitClassName('Foo'); // ['', 'Foo']