Funções do Latte

Além das funções comuns do PHP, você também pode usá-las em modelos.

clamp valor dos grampos para a faixa
divisibleBy verifica se uma variável é divisível por um número
even verifica se o número dado é igual
first devolve o primeiro elemento de matriz ou caráter de cadeia
hasBlock detecta a existência de um bloco
last retorna o último elemento de matriz ou caráter de cadeia
odd verifica se o número dado é ímpar
slice extrai uma fatia de uma matriz ou um fio

Utilização

As funções são usadas da mesma forma que as funções comuns do PHP e podem ser usadas em todas as expressões:

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

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

As funções personalizadas podem ser registradas desta forma:

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

Usamo-lo em um modelo como este:

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

Funções

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

Retorna o valor fixado para a faixa inclusiva de min e max.

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

Veja também a braçadeira do filtro:

divisibleBy(int $value, int $by)bool

Verifica se uma variável é divisível por um número.

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

even(int $value): bool

Verifica se o número dado é igual.

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

first(string|array $value)mixed

Devolve o primeiro elemento de matriz ou caráter de corda:

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

Ver também por último, filtrar primeiro.

hasBlock(string $name): bool

Verifica se o bloco com o nome especificado existe:

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

Consulte também verificação de existência de bloco.

last(string|array $value)mixed

Retorna o último elemento de matriz ou caráter de corda:

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

Ver também primeiro, filtrar por último.

odd(int $value): bool

Verifica se o número dado é estranho.

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

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

Extrai uma fatia de uma matriz ou um fio.

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

O filtro de fatias funciona como a função PHP array_slice para arrays e mb_substr para strings com um fallback para iconv_substr no modo UTF-8.

Se o início for não negativo, a seqüência começará nesse início na variável. Se o início for negativo, a seqüência começará tão longe do final da variável.

Se o comprimento for dado e for positivo, então a seqüência terá até muitos elementos nele. Se a variável for menor do que o comprimento, então somente os elementos variáveis disponíveis estarão presentes. Se o comprimento for dado e for negativo, então a seqüência interromperá que muitos elementos do final da variável. Se for omitido, então a seqüência terá tudo desde o offset até o final da variável.

O filtro reordenará e redefinirá as chaves da matriz inteira por padrão. Este comportamento pode ser alterado ajustando preserveKeys para true. As chaves de string são sempre preservadas, independentemente deste parâmetro.

versão: 3.0