Класс StringTemplate
Предоставляет интерфейс для регистрации и вставки содержимого в простые шаблоны строк без логики.
Используется несколькими помощниками для предоставления простых гибких шаблонов для генерации HTML и другого контента.
- Cake\View\StringTemplate использует Cake\Core\InstanceConfigTrait
Краткое описание свойств
-
$_compactAttributesprotectedСписок атрибутов, которые могут быть сжаты.array -
$_compiledprotectedСодержит список скомпилированных шаблоновarray -
$_configStackprotectedСтек наборов шаблонов, временно сохранённых.array -
$_defaultConfigprotectedШаблоны по умолчанию, которые хранятся в этом экземпляре.array
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор.
- _compileTemplates() protectedКомпиляция шаблонов в более эффективный формат, совместимый с printf().
- _formatAttribute() protected
Форматирует отдельный атрибут и возвращает строковое значение составленного атрибута. Работает со сжатыми атрибутами, которые имеют такое же значение, как и их имя, например, 'disabled' и 'checked'
- add() publicРегистрирует список шаблонов по имени
- addClass() publicДобавляет класс и возвращает уникальный список в формате массива или через пробел
- format() publicФорматирование строки шаблона с данными $data
- formatAttributes() public
Возвращает строку, разделённую пробелами, с элементами массива $options. Если ключ массива $options совпадает с одним из перечисленных в
StringTemplate::$_compactAttributes, и его значение равно: - load() publicЗагрузка файла конфигурации с шаблонами.
- pop() publicВосстановление последнего помещённого набора шаблонов.
- push() publicПомещает текущие шаблоны в стек шаблонов.
- remove() publicУдаляет шаблон по имени.
Подробное описание методов
__construct()source public
__construct( array $config = [] )
Конструктор.
Параметры
- массив
$configнеобязательно [] - Набор шаблонов для добавления.
_compileTemplates()source protected
_compileTemplates( array $templates = [] )
Компиляция шаблонов в более эффективный формат, совместимый с printf().
Параметры
- массив
$templatesнеобязательно [] - Имена шаблонов для компиляции. Если пусто, все шаблоны будут скомпилированы.
_formatAttribute()source protected
_formatAttribute( string $key , string|array $value , boolean $escape = true )
Форматирует отдельный атрибут и возвращает строковое значение составленного атрибута. Работает со сжатыми атрибутами, которые имеют такое же значение, как и их имя, например, 'disabled' и 'checked'
Параметры
- строка
$key - Имя атрибута для создания
- строка|массив
$value - Значение атрибута для создания.
- булево
$escapeнеобязательно true - Определяет, должно ли значение быть обработано
Возвращает
строкаСоставленный атрибут.
add()source public
add( array $templates )
Регистрирует список шаблонов по имени
Пример:
$templater->add([
'link' => '<a href="{{url}}">{{title}}</a>'
'button' => '<button>{{text}}</button>'
]); Параметры
- массив
$templates - Ассоциативный список именованных шаблонов.
Возвращает
$this
addClass()source public
addClass( array|string $input , array|string $newClass , string $useIndex = 'class' )
Добавляет класс и возвращает уникальный список в формате массива или через пробел
Параметры
- массив|строка
$input - Массив или строка, к которой добавляется класс
- массив|строка
$newClass - Новый класс или классы для добавления
- строка
$useIndexнеобязательно 'class' - если вы вводите массив с элементом, отличным от стандартного 'class'.
Возвращает
массив|строкаformat()source public
format( string $name , array $data )
Форматирование строки шаблона с данными $data
Параметры
- строка
$name - Имя шаблона.
- массив
$data - Данные для вставки.
Возвращает
строка|nullОтформатированная строка или null, если шаблон не найден.
formatAttributes()source public
formatAttributes( array|null $options , array|null $exclude = null )
Возвращает строку, разделённую пробелами, с элементами массива $options. Если ключ массива $options совпадает с одним из перечисленных в StringTemplate::$_compactAttributes, и его значение равно:
- '1' (строка)
- 1 (целое число)
- true (булево)
- 'true' (строка)
Тогда значение будет переустановлено, чтобы быть идентичным имени ключа. Если значение не является одним из этих 4, параметр не выводится.
'escape' — специальный параметр, который контролирует преобразование атрибутов в их эквиваленты, закодированные в HTML-сущностях. Установите значение в false, чтобы отключить HTML-кодирование.
Если значение любого ключа параметра установлено в null или false, этот параметр будет исключён из вывода.
Этот метод использует шаблоны 'attribute' и 'compactAttribute'. Каждый из этих шаблонов использует переменные name и value. Вы можете изменить эти шаблоны, чтобы изменить способ форматирования атрибутов.
Параметры
- массив|null
$options - Массив параметров.
- массив|null
$excludeнеобязательно null - Массив параметров, которые нужно исключить; эти параметры не будут частью возвращаемого значения.
Возвращает
строкаСоставленные атрибуты.
load()source public
load( string $file )
Загрузка файла конфигурации с шаблонами.
Файлы шаблонов должны определять переменную $config содержащую все шаблоны для загрузки. Загруженные шаблоны будут объединены с существующими шаблонами.
Параметры
- строка
$file - Файл для загрузки
remove()source public
remove( string $name )
Удаляет шаблон по имени.
Параметры
- строка
$name - Шаблон для удаления.
Методы, использованные из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
смешанное значение_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное значение
$value - Значение для записи.
- логическое значение|строка
$mergeнеобязательно false Истинное значение для рекурсивного слияния, 'поверхностное' для простого слияния, ложное значение для перезаписи; по умолчанию ложное.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
config()source public устарело
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устарело
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или весь массив настроек.
- смешанное значение|null
$valueнеобязательно null - Значение для установки.
- логическое значение
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию истинно.
Возвращает
смешанное значениеЗначение конфигурации для чтения или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Объединение предоставленной конфигурации с существующей конфигурацией. В отличие от config(), которое выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или весь массив настроек.
- смешанное значение|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанное значение
$defaultнеобязательно null - Значение по умолчанию, если ключ не существует.
Возвращает
смешанное значениеДанные конфигурации по указанному ключу или null, если ключ не существует.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или весь массив настроек.
- смешанное значение|null
$valueнеобязательно null - Значение для установки.
- логическое значение
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию истинно.
Возвращает
$this
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
Подробное описание свойств
$_compactAttributessource
protected массив
Список атрибутов, которые можно сделать компактными.
[
'allowfullscreen' => true,
'async' => true,
'autofocus' => true,
'autoplay' => true,
'checked' => true,
'compact' => true,
'controls' => true,
'declare' => true,
'default' => true,
'defaultchecked' => true,
'defaultmuted' => true,
'defaultselected' => true,
'defer' => true,
'disabled' => true,
'enabled' => true,
'formnovalidate' => true,
'hidden' => true,
'indeterminate' => true,
'inert' => true,
'ismap' => true,
'itemscope' => true,
'loop' => true,
'multiple' => true,
'muted' => true,
'nohref' => true,
'noresize' => true,
'noshade' => true,
'novalidate' => true,
'nowrap' => true,
'open' => true,
'pauseonexit' => true,
'readonly' => true,
'required' => true,
'reversed' => true,
'scoped' => true,
'seamless' => true,
'selected' => true,
'sortable' => true,
'truespeed' => true,
'typemustmatch' => true,
'visible' => true,
]
© 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/3.8/class-Cake.View.StringTemplate.html