Функции Latte
В дополнение к обычным функциям PHP, вы можете использовать их в шаблонах.
Использование
Функции используются так же, как и обычные функции PHP, и могут быть использованы во всех выражениях:
Пользовательские функции могут быть зарегистрированы таким образом:
Мы используем его в шаблоне следующим образом:
Функции
clamp(int|float $value, int|float $min, int|float $max): int|float
Возвращает значение, зажатое во включительно диапазоне min и max.
См. также зажим фильтра:
divisibleBy(int $value, int $by): bool
Проверяет, делится ли переменная на число.
even(int $value): bool
Проверяет, является ли заданное число четным.
first(string|iterable $value): mixed
Возвращает первый элемент массива или символ строки:
См. также last, filter first.
group(iterable $data, string|int|\Closure $by): array
Эта функция группирует данные по различным критериям.
В данном примере строки таблицы группируются по столбцу
categoryId
. На выходе получается массив полей, где ключом является
значение в столбце categoryId
. Ознакомьтесь с подробной инструкцией.
См. также группу фильтров.
hasBlock(string $name): bool
Проверяет, существует ли блок с указанным именем:
См. также Проверка существования блока.
last(string|array $value): mixed
Возвращает последний элемент массива или символ строки:
См. также first, filter last.
odd(int $value): bool
Проверяет, является ли заданное число нечетным.
slice(string|array $value, int $start, ?int $length=null, bool $preserveKeys=false): string|array
Извлекает фрагмент массива или строки.
Фильтр срезов работает как функция array_slice
PHP для массивов и
mb_substr
для строк с возвратом к iconv_substr
в режиме UTF-8.
Если start неотрицательно, то последовательность начнется с этого начала в переменной. Если start отрицательно, то последовательность начнется на таком-то расстоянии от конца переменной.
Если задана длина и она положительна, то последовательность будет содержать до этого количества элементов. Если переменная короче длины, то будут присутствовать только доступные элементы переменной. Если длина задана и отрицательна, то последовательность остановится на столько элементов от конца переменной. Если длина не указана, то последовательность будет содержать все элементы от смещения до конца переменной.
Filter по умолчанию переупорядочивает и сбрасывает ключи целочисленного массива. Это поведение можно изменить, установив preserveKeys в true. Строковые ключи всегда сохраняются, независимо от этого параметра.