Βοηθητικές συναρτήσεις
Η Nette\Utils\Helpers είναι μια στατική κλάση με χρήσιμες συναρτήσεις.
Εγκατάσταση:
composer require nette/utils
Όλα τα παρακάτω παραδείγματα προϋποθέτουν τη δημιουργία ενός ψευδωνύμου:
use Nette\Utils\Helpers;
capture (callable $cb): string
Εκτελεί την επανάκληση (callback) και επιστρέφει την συλλεχθείσα έξοδο ως συμβολοσειρά.
$res = Helpers::capture(function () use ($template) {
$template->render();
});
clamp (int|float $value, int|float $min, int|float $max): int|float
Περιορίζει την τιμή εντός του δεδομένου εύρους min και max (συμπεριλαμβανομένων).
Helpers::clamp($level, 0, 255);
compare (mixed $left, string $operator, mixed $right): bool
Συγκρίνει δύο τιμές με τον ίδιο τρόπο που το κάνει η PHP. Διακρίνει τους
τελεστές >
, >=
, <
, <=
, =
, ==
,
===
, !=
, !==
, <>
. Η συνάρτηση είναι χρήσιμη σε
καταστάσεις όπου ο τελεστής είναι μεταβλητός.
Helpers::compare(10, '<', 20); // true
falseToNull (mixed $value): mixed
Μετατρέπει το false
σε null
, δεν αλλάζει άλλες τιμές.
Helpers::falseToNull(false); // null
Helpers::falseToNull(123); // 123
getLastError(): string
Επιστρέφει το τελευταίο σφάλμα στην PHP ή μια κενή συμβολοσειρά αν δεν
προέκυψε κανένα σφάλμα. Σε αντίθεση με το error_get_last()
, δεν
επηρεάζεται από την οδηγία PHP html_errors
και επιστρέφει πάντα
κείμενο, όχι HTML.
Helpers::getLastError();
getSuggestion (string[] $possibilities, string $value): ?string
Από τις προσφερόμενες επιλογές $possibilities
, αναζητά τη
συμβολοσειρά που είναι η πιο παρόμοια με την $value
, αλλά όχι η
ίδια. Υποστηρίζει μόνο κωδικοποίηση 8-bit.
Είναι χρήσιμο σε περίπτωση που μια συγκεκριμένη επιλογή δεν είναι έγκυρη και θέλουμε να προτείνουμε στον χρήστη μια παρόμοια (αλλά διαφορετική, γι' αυτό αγνοείται η ίδια συμβολοσειρά). Με αυτόν τον τρόπο η Nette δημιουργεί τα μηνύματα “μήπως εννοούσατε …?”.
$items = ['foo', 'bar', 'baz'];
Helpers::getSuggestion($items, 'fo'); // 'foo'
Helpers::getSuggestion($items, 'barr'); // 'bar'
Helpers::getSuggestion($items, 'baz'); // 'bar', όχι 'baz'