Latte funkciók

Az általános PHP-funkciók mellett ezeket is használhatod a sablonokban.

clamp az értéket a tartományba szorítja.
divisibleBy ellenőrzi, hogy egy változó osztható-e egy számmal
even ellenőrzi, hogy a megadott szám páros-e
first visszaadja a tömb első elemét vagy a karakterlánc első karakterét.
hasBlock érzékeli egy blokk létezését.
last visszaadja a tömb utolsó elemét vagy a karakterlánc utolsó karakterét.
odd ellenőrzi, hogy az adott szám páratlan-e.
slice kivonja egy tömb vagy egy karakterlánc egy szeletét.

Használat

A függvények ugyanúgy használhatók, mint az általános PHP függvények, és minden kifejezésben használhatók:

<p>{clamp($num, 1, 100)}</p>

{if odd($num)} ... {/if}

Egyéni függvények így regisztrálhatók:

$latte = new Latte\Engine;
$latte->addFunction('shortify', fn(string $s, int $len = 10) => mb_substr($s, 0, $len));

Egy sablonban így használjuk:

<p>{shortify($text)}</p>
<p>{shortify($text, 100)}</p>

Funkciók

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

Visszaadja a min és max tartományba szorított értéket.

{=clamp($level, 0, 255)}

Lásd még szűrőbilincs:

divisibleBy(int $value, int $by)bool

Ellenőrzi, hogy egy változó osztható-e egy számmal.

{if divisibleBy($num, 5)} ... {/if}

even(int $value): bool

Ellenőrzi, hogy az adott szám páros-e.

{if even($num)} ... {/if}

first(string|array $value)mixed

Visszaadja a tömb első elemét vagy a karakterlánc első karakterét:

{=first([1, 2, 3, 4])}    {* kimenet 1 *}
{=first('abcd')}          {* kimenet 'a' *}

Lásd még last, filter first.

hasBlock(string $name): bool

Ellenőrzi, hogy a megadott nevű blokk létezik-e:

{if hasBlock(header)} ... {/if}

Lásd még a blokk létezésének ellenőrzése.

last(string|array $value)mixed

A tömb utolsó elemét vagy a karakterlánc utolsó karakterét adja vissza:

{=last([1, 2, 3, 4])}    {* 4 kimenet *}
{=last('abcd')}          {* kimenet 'd' *}

Lásd még first, filter last.

odd(int $value): bool

Ellenőrzi, hogy a megadott szám páratlan-e.

{if odd($num)} ... {/if}

slice(string|array $value, int $start, int $length=null, bool $preserveKeys=false): string|array

Kivonja egy tömb vagy egy karakterlánc egy szeletét.

{=slice('hello', 1, 2)} {* kimenet 'el' *}
{=slice(['a', 'b', 'c'], 1, 2)} {* kimenet ['b', 'c'] *}

A slice-szűrő a array_slice PHP-funkcióként működik tömbök esetében, a mb_substr pedig karakterláncok esetében, UTF-8 módban pedig a iconv_substr funkcióra való visszalépéssel.

Ha a kezdet nem negatív, akkor a szekvencia a változóban ezzel a kezdőponttal kezdődik. Ha a start negatív, akkor a szekvencia a változó végétől ilyen messze kezdődik.

Ha a length értéke pozitív, akkor a szekvencia legfeljebb ennyi elemet tartalmaz. Ha a változó rövidebb, mint a hossz, akkor csak a rendelkezésre álló változóelemek lesznek jelen. Ha a hossz meg van adva és negatív, akkor a sorozat ennyi elemmel a változó vége előtt fog megállni. Ha nem adjuk meg, akkor a szekvencia az eltolódástól a változó végéig mindent tartalmazni fog.

A Filter alapértelmezés szerint átrendezi és visszaállítja az integer tömb kulcsát. Ez a viselkedés megváltoztatható a preserveKeys true értékre állításával. A string kulcsok ettől a paramétertől függetlenül mindig megmaradnak.

verzió: 3.0