Provides an interface for registering and inserting content into simple logic-less string templates.
Used by several helpers to provide simple flexible templates for generating HTML and other content.
array<string, bool>List of attributes that can be made compact.
array<string, array>Contains the list of compiled templates
array<string, mixed>Runtime config
boolWhether the config property has already been configured with defaults
arrayA stack of template sets that have been stashed temporarily.
array<string, mixed>The default templates this instance holds.
Constructor.
Compile templates into a more efficient printf() compatible format.
Deletes a single config key.
Reads a config key.
Writes a config key.
Formats an individual attribute, and returns the string value of the composed attribute. Works with minimized attributes that have the same value as their name such as 'disabled' and 'checked'
Registers a list of templates by name
Adds a class and returns a unique list either in array or space separated
Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.
Format a template string with $data
Returns a space-delimited string with items of the $options array. If a key of $options array happens to be one of those listed in StringTemplate::$_compactAttributes and its value is one of:
Returns the config.
Returns the config for this specific key.
Load a config file containing templates.
Restore the most recently pushed set of templates.
Push the current templates into the template stack.
Remove the named template.
Sets the config.
__construct(array<string, mixed> $config = [])
Constructor.
array<string, mixed> $config optional A set of templates to add.
_compileTemplates(array<string> $templates = []): void
Compile templates into a more efficient printf() compatible format.
array<string> $templates optional The template names to compile. If empty all templates will be compiled.
void_configDelete(string $key): void
Deletes a single config key.
string $key Key to delete.
voidCake\Core\Exception\CakeException_configRead(string|null $key): mixed
Reads a config key.
string|null $key Key to read.
mixed_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Writes a config key.
array<string, mixed>|string $key Key to write to.
mixed $value Value to write.
string|bool $merge optional True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
voidCake\Core\Exception\CakeException_formatAttribute(string $key, array<string>|string $value, bool $escape = true): string
Formats an individual attribute, and returns the string value of the composed attribute. Works with minimized attributes that have the same value as their name such as 'disabled' and 'checked'
string $key The name of the attribute to create
array<string>|string $value The value of the attribute to create.
bool $escape optional Define if the value must be escaped
stringadd(array<string> $templates): $this
Registers a list of templates by name
$templater->add([
'link' => '<a href="{{url}}">{{title}}</a>'
'button' => '<button>{{text}}</button>'
]); array<string> $templates An associative list of named templates.
$thisaddClass(array|string $input, array<string>|string $newClass, string $useIndex = 'class'): array<string>|string
Adds a class and returns a unique list either in array or space separated
array|string $input The array or string to add the class to
array<string>|string $newClass the new class or classes to add
string $useIndex optional if you are inputting an array with an element other than default of 'class'.
array<string>|stringconfigShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value); Setting a nested value:
$this->configShallow('some.nested.key', $value); Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
array<string, mixed>|string $key The key to set, or a complete array of configs.
mixed|null $value optional The value to set.
$thisformat(string $name, array<string, mixed> $data): string
Format a template string with $data
string $name The template name.
array<string, mixed> $data The data to insert.
stringRuntimeExceptionformatAttributes(array<string, mixed>|null $options, array<string>|null $exclude = null): string
Returns a space-delimited string with items of the $options array. If a key of $options array happens to be one of those listed in StringTemplate::$_compactAttributes and its value is one of:
Then the value will be reset to be identical with key's name. If the value is not one of these 4, the parameter is not output.
'escape' is a special option in that it controls the conversion of attributes to their HTML-entity encoded equivalents. Set to false to disable HTML-encoding.
If value for any option key is set to null or false, that option will be excluded from output.
This method uses the 'attribute' and 'compactAttribute' templates. Each of these templates uses the name and value variables. You can modify these templates to change how attributes are formatted.
array<string, mixed>|null $options Array of options.
array<string>|null $exclude optional Array of options to be excluded, the options here will not be part of the return.
stringgetConfig(string|null $key = null, mixed $default = null): mixed
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key'); Reading a nested value:
$this->getConfig('some.nested.key'); Reading with default value:
$this->getConfig('some-key', 'default-value'); string|null $key optional The key to get or null for the whole config.
mixed $default optional The return value when the key does not exist.
mixedgetConfigOrFail(string $key): mixed
Returns the config for this specific key.
The config value for this key must exist, it can never be null.
string $key The key to get.
mixedInvalidArgumentExceptionload(string $file): void
Load a config file containing templates.
Template files should define a $config variable containing all the templates to load. Loaded templates will be merged with existing templates.
string $file The file to load
voidpop(): void
Restore the most recently pushed set of templates.
voidpush(): void
Push the current templates into the template stack.
voidremove(string $name): void
Remove the named template.
string $name The template to remove.
voidsetConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Sets the config.
Setting a specific value:
$this->setConfig('key', $value); Setting a nested value:
$this->setConfig('some.nested.key', $value); Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
array<string, mixed>|string $key The key to set, or a complete array of configs.
mixed|null $value optional The value to set.
bool $merge optional Whether to recursively merge or overwrite existing config, defaults to true.
$thisCake\Core\Exception\CakeExceptionList of attributes that can be made compact.
array<string, bool>Contains the list of compiled templates
array<string, array>Runtime config
array<string, mixed>Whether the config property has already been configured with defaults
boolA stack of template sets that have been stashed temporarily.
arrayThe default templates this instance holds.
array<string, mixed>
© 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/4.4/class-Cake.View.StringTemplate.html