Класс 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 - Ключ для считывания.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записывает ключ конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное
$value - Значение для записи.
- булево|строка
$mergeнеобязательно false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию 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 - Выполнять ли рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
mixedЗначение конфигурации, которое считывается или сам объект при операциях записи.
Исключения
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 - Значение возврата, когда ключ не существует.
Возвращает
mixedЗначение конфигурации, которое считывается.
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 - Выполнять ли рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию 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,
] $_defaultConfigsource
protected массив
Шаблоны по умолчанию, которые хранятся в данном экземпляре.
[]
© 2005–2017 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.4/class-Cake.View.StringTemplate.html