Класс 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 - Значение, возвращаемое, когда ключ не существует.
Возвращает
смешанный типЗначение конфигурации, которое читалось.
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.6/class-Cake.View.StringTemplate.html