Класс 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 Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.
Исключения
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']);
Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию истинно.
Возвращает
mixedЧитаемое значение конфигурации или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value null )
Объединить предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определённого значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this Объект самого себя.
Подробное описание свойств
$_compactAttributessource
protected array
Список атрибутов, которые можно сделать компактными.
[
'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–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.3/class-Cake.View.StringTemplate.html