Класс StringTemplate
Предоставляет интерфейс для регистрации и вставки содержимого в простые шаблоны строк без логики.
Используется несколькими вспомогательными функциями для создания простых гибких шаблонов для генерации HTML и другого контента.
Краткое описание свойств
- $_compactAttributes protected
array<string, bool>Список атрибутов, которые могут быть сделаны компактными.
- $_compiled protected
array<string, array>Содержит список скомпилированных шаблонов.
- $_config protected
array<string, mixed>Конфигурация во время выполнения.
- $_configInitialized protected
boolУказывает, была ли конфигурация уже настроена по умолчанию.
- $_configStack protected
arrayСтек наборов шаблонов, временно сохранённых.
- $_defaultConfig protected
array<string, mixed>Шаблоны по умолчанию, которые хранит этот экземпляр.
Краткое описание методов
-
__construct() public
Конструктор.
-
_compileTemplates() protected
Компиляция шаблонов в более эффективный формат, совместимый с printf().
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_formatAttribute() protected
Форматирует отдельный атрибут и возвращает строковое значение составленного атрибута. Работает с миниатюрными атрибутами, которые имеют такое же значение, как и их имя, например, 'disabled' и 'checked'.
-
add() public
Регистрирует список шаблонов по имени.
-
addClass() public
Добавляет класс и возвращает уникальный список, либо в виде массива, либо через пробел.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
format() public
Форматирует шаблонную строку с данными $data.
-
formatAttributes() public
Возвращает строку со значениями элементов массива $options, разделённых пробелами. Если ключ массива $options соответствует одному из элементов, перечисленных в
StringTemplate::$_compactAttributes, и его значение является одним из следующих: -
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для конкретного ключа.
-
load() public
Загружает файл конфигурации, содержащий шаблоны.
-
pop() public
Восстанавливает последний добавленный набор шаблонов.
-
push() public
Добавляет текущие шаблоны в стек шаблонов.
-
remove() public
Удаляет шаблон по имени.
-
setConfig() public
Устанавливает конфигурацию.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config = [])
Конструктор.
Параметры
-
array<string, mixed>$config необязательный Набор шаблонов для добавления.
_compileTemplates() protected
_compileTemplates(array<string> $templates = []): void
Компиляция шаблонов в более эффективный формат, совместимый с printf().
Параметры
-
array<string>$templates необязательный Имена шаблонов для компиляции. Если пусто, будут скомпилированы все шаблоны.
Возвращает
void_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ для записи.
-
mixed$value Значение для записи.
-
string|bool$merge необязательный True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_formatAttribute() protected
_formatAttribute(string $key, array<string>|string $value, bool $escape = true): string
Форматирует отдельный атрибут и возвращает строковое значение составленного атрибута. Работает с миниатюрными атрибутами, которые имеют такое же значение, как и их имя, например, 'disabled' и 'checked'.
Параметры
-
string$key Имя атрибута для создания
-
array<string>|string$value Значение атрибута для создания.
-
bool$escape необязательный Определяет, должно ли значение быть обработано
Возвращает
stringadd() public
add(array<string> $templates): $this
Регистрирует список шаблонов по имени
Пример:
$templater->add([
'link' => '<a href="{{url}}">{{title}}</a>'
'button' => '<button>{{text}}</button>'
]); Параметры
-
array<string>$templates Ассоциативный список шаблонов с именами.
Возвращает
$thisaddClass() public
addClass(array|string $input, array<string>|string $newClass, string $useIndex = 'class'): array<string>|string
Добавляет класс и возвращает уникальный список, либо в массиве, либо через пробел
Параметры
-
array|string$input Массив или строка, к которой нужно добавить класс
-
array<string>|string$newClass Новый класс или классы для добавления
-
string$useIndex необязательный Если ввод — массив с элементом, отличным от 'class'.
Возвращает
array<string>|stringconfigShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value необязательный Значение для установки.
Возвращает
$thisformat() public
format(string $name, array<string, mixed> $data): string
Форматирует строку шаблона с данными $data
Параметры
-
string$name Имя шаблона.
-
array<string, mixed>$data Данные для вставки.
Возвращает
stringИсключения
RuntimeExceptionЕсли шаблон не найден.
formatAttributes() public
formatAttributes(array<string, mixed>|null $options, array<string>|null $exclude = null): string
Возвращает строку с элементами массива $options, разделенными пробелами. Если ключ массива $options соответствует одному из перечисленных в StringTemplate::$_compactAttributes, и его значение равно:
- '1' (строка)
- 1 (целое число)
- true (булево)
- 'true' (строка)
то значение будет переопределено, чтобы быть идентичным имени ключа. Если значение не равно одному из этих четырёх, параметр не выводится.
'escape' — специальный параметр, контролирующий преобразование атрибутов в их кодированные HTML-сущности. Установите в false, чтобы отключить HTML-кодирование.
Если значение любого ключа параметра $options установлено в null или false, этот параметр будет исключён из вывода.
Этот метод использует шаблоны 'attribute' и 'compactAttribute'. Каждый из этих шаблонов использует переменные name и value. Вы можете изменить эти шаблоны, чтобы изменить способ форматирования атрибутов.
Параметры
-
array<string, mixed>|null$options Массив параметров.
-
array<string>|null$exclude необязательный Массив параметров для исключения, эти параметры не будут частью результата.
Возвращает
stringgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key необязательный Ключ для получения или null для всей конфигурации.
-
mixed$default необязательный Значение по умолчанию, если ключ не найден.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для указанного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptionload() public
load(string $file): void
Загрузка файла конфигурации, содержащего шаблоны.
Файлы шаблонов должны определять переменную $config, содержащую все шаблоны для загрузки. Загруженные шаблоны будут объединены с существующими.
Параметры
-
string$file Файл для загрузки
Возвращает
voidpop() public
pop(): void
Восстановление последнего набора шаблонов.
Возвращает
voidpush() public
push(): void
Добавление текущих шаблонов в стек шаблонов.
Возвращает
voidremove() public
remove(string $name): void
Удаление шаблона по имени.
Параметры
-
string$name Шаблон для удаления.
Возвращает
voidsetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или массив настроек.
-
mixed|null$value необязательно Значение для установки.
-
bool$merge необязательно Признак рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
Подробное описание свойств
$_compactAttributes protected
Список атрибутов, которые могут быть сжаты.
Тип
array<string, bool>$_compiled protected
Содержит список скомпилированных шаблонов.
Тип
array<string, array>$_config protected
Конфигурация во время выполнения.
Тип
array<string, mixed>$_configInitialized protected
Признак того, что свойство config уже настроено со значениями по умолчанию.
Тип
bool$_configStack protected
Стек наборов шаблонов, временно сохраненных.
Тип
array$_defaultConfig protected
Шаблоны по умолчанию, содержащиеся в экземпляре.
Тип
array<string, mixed>
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.View.StringTemplate.html