Latte funkce
V šablonách Latte můžeme kromě běžných PHP funkcí využívat i další speciální funkce, které rozšiřují možnosti při práci s daty a šablonami.
Použití
Funkce v Latte se používají stejně jako běžné PHP funkce a lze je využít ve všech výrazech:
Vlastní funkce můžete do Latte přidat takto:
V šabloně pak tuto funkci můžete volat následovně:
Funkce
clamp(int|float $value, int|float $min, int|float $max): int|float
Funkce clamp
omezí hodnotu do zadaného inkluzivního rozsahu mezi $min
a $max
.
Viz také filtr clamp.
divisibleBy(int $value, int $by): bool
Funkce divisibleBy
ověří, zda je číslo $value
dělitelné číslem $by
.
even(int $value): bool
Funkce even
zkontroluje, zda je dané číslo sudé.
first(string|iterable $value): mixed
Funkce first
vrací první prvek pole nebo první znak řetězce:
Viz také last, filtr first.
group(iterable $data, string|int|\Closure $by): array
Funkce group
seskupí data podle zadaných kritérií.
V tomto příkladu se řádky v tabulce seskupují podle sloupce categoryId
. Výsledkem je pole polí, kde
klíčem je hodnota ve sloupci categoryId
. Podrobný návod najdete zde.
Viz také filtr group.
hasBlock(string $name): bool
Funkce hasBlock
ověří, zda existuje blok s uvedeným názvem:
Viz také kontrola existence bloků.
last(string|array $value): mixed
Funkce last
vrací poslední prvek pole nebo poslední znak řetězce:
Viz také first, filtr last.
odd(int $value): bool
Funkce odd
zkontroluje, zda je dané číslo liché.
slice(string|array $value, int $start, ?int $length=null, bool $preserveKeys=false): string|array
Funkce slice
extrahuje část pole nebo řetězce.
Tato funkce funguje podobně jako PHP funkce array_slice
pro pole nebo mb_substr
pro řetězce
(s fallbackem na iconv_substr
v režimu UTF-8).
- Pokud je
$start
kladný, výsledek začíná od tohoto indexu od začátku pole/řetězce. Pokud je záporný, začíná se od konce. - Pokud je
$length
kladný, výsledek bude obsahovat tolik prvků. Pokud je záporný, výsledek bude obsahovat všechny prvky kromě posledních$length
prvků. Pokud není zadán, výsledek bude obsahovat všechny prvky od$start
do konce. - Parametr
$preserveKeys
určuje, zda zachovat původní klíče pole. Ve výchozím nastavení (false) jsou číselné klíče resetovány. Řetězcové klíče jsou vždy zachovány bez ohledu na toto nastavení.