EngineInterface

interface EngineInterface

EngineInterface is the interface each engine must implement.

All methods rely on a template name. A template name is a "logical" name for the template, and as such it does not refer to a path on the filesystem (in fact, the template can be stored anywhere, like in a database).

The methods should accept any name. If the name is not an instance of TemplateReferenceInterface, a TemplateNameParserInterface should be used to convert the name to a TemplateReferenceInterface instance.

Each template loader uses the logical template name to look for the template.

Methods

string render(string|TemplateReferenceInterface $name, array $parameters = array())

Renders a template.

bool exists(string|TemplateReferenceInterface $name)

Returns true if the template exists.

bool supports(string|TemplateReferenceInterface $name)

Returns true if this class is able to render the given template.

Details

string render(string|TemplateReferenceInterface $name, array $parameters = array())

Renders a template.

Parameters

string|TemplateReferenceInterface $name A template name or a TemplateReferenceInterface instance
array $parameters An array of parameters to pass to the template

Return Value

string The evaluated template as a string

Exceptions

RuntimeException if the template cannot be rendered

bool exists(string|TemplateReferenceInterface $name)

Returns true if the template exists.

Parameters

string|TemplateReferenceInterface $name A template name or a TemplateReferenceInterface instance

Return Value

bool true if the template exists, false otherwise

Exceptions

RuntimeException if the engine cannot handle the template name

bool supports(string|TemplateReferenceInterface $name)

Returns true if this class is able to render the given template.

Parameters

string|TemplateReferenceInterface $name A template name or a TemplateReferenceInterface instance

Return Value

bool true if this class supports the given template, false otherwise

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Templating/EngineInterface.html