Template::Modules

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
Template::Modules(3) User Contributed Perl Documentation Template::Modules(3)



NAME
       Template::Modules - Template Toolkit Modules

Template Toolkit Modules
       This documentation provides an overview of the different modules that
       comprise the Template Toolkit.

       Template

       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’);

       Template::Base

       The Template::Base module implements a base class from which the other
       Template Toolkit modules are derived.  It implements common function-
       ality for creating objects, error reporting, debugging, and so on.

       Template::Config

       The Template::Config 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 Template::Config module defines the $STASH package
       variable which indicates which version of the Template::Stash 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 Tem-
       plate::Config module to create a stash of the right kind.

       Template::Constants

       The Template::Constants 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,
	   });

       Template::Context

       The Template::Context module defines a runtime context in which tem-
       plates 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.

       Template::Document

       The Template::Document module implements a compiled template document
       object.	This is generated by the Template::Parser module.

       Template::Exception

       The Template::Exception module implements an exception object which is
       used for runtime error reporting.

       Template::Filters

       The Template::Filters module implements a filter provider.  It
       includes the core collection of filters that can be used via the "FIL-
       TER" directive.

       Template::Iterator

       The Template::Iterator 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 ref-
       erences 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
	   %]

       Template::Namespace::Constants

       The Template::Namespace::Constants module is used internally to repre-
       sent constants. These can be resolved immediately at the point that a
       template is compiled.

       Template::Parser

       The Template::Parser module is used to parse a source template and
       turn it into Perl code which can be executed.

       Template::Plugin

       The Template::Plugin module is a base class for Template Toolkit plug-
       ins that can be loaded on demand from within a template using the
       "USE" directive.

       Template::Plugins

       The Template::Plugins module is the plugins provider.  It loads and
       prepares plugins as and when they are requested from within a tem-
       plate.

       Template::Provider

       The Template::Provider module is responsible for loading, compiling
       and caching templates.

       Template::Service

       The Template::Service module implements a service layer that sits just
       behind the Template module, and just in front of a Template::Context.
       It handles each request to process a template (forwarded from the Tem-
       plate 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).

       Template::Stash

       The Template::Stash module is used to fetch and store template vari-
       ables.  It implements all of the magic associated with the dot opera-
       tor.

       Template::Stash::XS

       The Template::Stash::XS module is a high-speed implementation of Tem-
       plate::Stash written in C.

       Template::Test

       The Template::Test module is used to automate the Template Toolkit
       test scripts.



perl v5.8.8			  2007-07-31		 Template::Modules(3)