Template::Modules - Template Toolkit Modules |
Template::Modules - Template Toolkit Modules
This documentation provides an overview of the different modules that comprise the Template Toolkit.
The Template module is the front-end to the Template Toolkit for Perl programmers.
use Template; my $tt = Template->new(); $tt->process('hello.html', message => 'Hello World');
The the Template::Base manpage module implements a base class from which the other Template Toolkit modules are derived. It implements common functionality for creating objects, error reporting, debugging, and so on.
The the Template::Config manpage module defines the configuration of the Template Toolkit for your system. It is an example of a factory module which is responsible for instantiating the various other modules used in the Template Toolkit.
For example, the the Template::Config manpage module defines the $STASH
package
variable which indicates which version of the the Template::Stash manpage you are
using by default. If you elected to use the faster XS
stash when you installed the Template Toolkit, then this will be set as:
$STASH = 'Template::Stash::XS';
Otherwise you'll get the regular Perl stash:
$STASH = 'Template::Stash';
This approach means that other parts of the Template Toolkit don't have to worry about which stash you're using. They just ask the the Template::Config manpage module to create a stash of the right kind.
The the Template::Constants manpage defines a number of constants that are used by the Template Toolkit.
For example, the :chomp
tagset defines the CHOMP_???
constants that
can be used with the PRE_CHOMP
and POST_CHOMP
configuration options.
use Template::Constants ':chomp'; my $tt = Template->new({ PRE_CHOMP => CHOMP_COLLAPSE, });
The the Template::Context manpage module defines a runtime context in which templates are processed. A context keeps track of all the templates, variables, plugins, and other resources that are available (either directly or through delegate objects) and provides methods to fetch, store, and perform various operations on them.
The the Template::Document manpage module implements a compiled template document object. This is generated by the the Template::Parser manpage module.
The the Template::Exception manpage module implements an exception object which is used for runtime error reporting.
The the Template::Filters manpage module implements a filter provider. It includes
the core collection of filters that can be used via the FILTER
directive.
The the Template::Iterator manpage module implements a data iterator which steps
through each item in a list in turn. It is used by the FOREACH
directive.
Within a FOREACH
block, the loop
variable always references the
current iterator object.
[% FOREACH item IN list; IF loop.first; # first item in loop ELSIF loop.last; # last item in loop ELSE; # any other item in loop END; END %]
The the Template::Namespace::Constants manpage module is used internally to represent constants. These can be resolved immediately at the point that a template is compiled.
The the Template::Parser manpage module is used to parse a source template and turn it into Perl code which can be executed.
The the Template::Plugin manpage module is a base class for Template Toolkit plugins
that can be loaded on demand from within a template using the USE
directive.
The the Template::Plugins manpage module is the plugins provider. It loads and prepares plugins as and when they are requested from within a template.
The the Template::Provider manpage module is responsible for loading, compiling and caching templates.
The the Template::Service manpage module implements a service layer that sits just
behind the Template module, and just in front of a the Template::Context manpage. It
handles each request to process a template (forwarded from the Template
module). It adds any headers and/or footers (specified via the PRE_PROCESS
and POST_PROCESS
options), applies any wrapper (the WRAPPER
option) and
catches any errors returned (the ERRORS
option).
The the Template::Stash manpage module is used to fetch and store template variables. It implements all of the magic associated with the dot operator.
The the Template::Stash::XS manpage module is a high-speed implementation of the Template::Stash manpage written in C.
The the Template::Test manpage module is used to automate the Template Toolkit test scripts.
Template::Modules - Template Toolkit Modules |