table of contents
Dancer2::Core::Role::Template(3pm) | User Contributed Perl Documentation | Dancer2::Core::Role::Template(3pm) |
NAME¶
Dancer2::Core::Role::Template - Role for template engines
VERSION¶
version 1.1.1
DESCRIPTION¶
Any class that consumes this role will be able to be used as a template engine under Dancer2.
In order to implement this role, the consumer must implement the method "render". This method will receive three arguments:
- $self
- $template
- $tokens
Any template receives the following tokens, by default:
- "perl_version"
Current version of perl, effectively $^V.
- "dancer_version"
Current version of Dancer2, effectively "Dancer2->VERSION".
- "settings"
A hash of the application configuration.
- "request"
The current request object.
- "params"
A hash reference of all the parameters.
Currently the equivalent of "$request->params".
- "vars"
The list of request variables, which is what you would get if you called the "vars" keyword.
- "session"
The current session data, if a session exists.
ATTRIBUTES¶
name¶
The name of the template engine (e.g.: Simple).
charset¶
The charset. The default value is UTF-8.
default_tmpl_ext¶
The default file extension. If not provided, tt is used.
views¶
Path to the directory containing the views.
layout¶
Path to the directory containing the layouts.
layout_dir¶
Relative path to the layout directory.
Default: layouts.
engine¶
Contains the engine.
METHODS¶
view_pathname($view)¶
Returns the full path to the requested view.
layout_pathname($layout)¶
Returns the full path to the requested layout.
pathname_exists($pathname)¶
Returns true if the requested pathname exists. Can be used for either views or layouts:
$self->pathname_exists( $self->view_pathname( 'some_view' ) ); $self->pathname_exists( $self->layout_pathname( 'some_layout' ) );
render_layout($layout, \%tokens, \$content)¶
Render the layout with the applied tokens
apply_renderer($view, \%tokens)¶
apply_layout($content, \%tokens, \%options)¶
process($view, \%tokens, \%options)¶
template($view, \%tokens, \%options)¶
AUTHOR¶
Dancer Core Developers
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2024 by Alexis Sukrieh.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2024-07-28 | perl v5.38.2 |