NAME
Dancer2::Core::Role::Template - Role for template engines
VERSION
version 1.0.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:
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.