Provided by: libdancer2-perl_0.205002+dfsg-2_all
NAME
Dancer2::Core::Role::Template - Role for template engines
VERSION
version 0.205002
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)
AUTHOR
Dancer Core Developers
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 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.