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.0
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) 2023 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.
2023-12-15 | perl v5.36.0 |