Класс 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 - Значение для записи.
- boolean|строка
$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 - Значение для установки.
- boolean
$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 - Значение для установки.
- boolean
$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,
]
© 2005–2018 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.5/class-Cake.View.StringTemplate.html