Класс 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 )
Удаляет один ключ конфигурации.
Параметры
- string
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionпри попытке перезаписи существующей конфигурации
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- string|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$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() вместо этого.Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- mixed|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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|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'); Параметры
- string|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- mixed
$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']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|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–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.7/class-Cake.View.StringTemplate.html