Template::Filters(3pm) User Contributed Perl Documentation Template::Filters(3pm)
NAME
Template::Filters - Post-processing filters for template blocks
SYNOPSIS
use Template::Filters;
$filters = Template::Filters->new(\%config);
($filter, $error) = $filters->fetch($name, \@args, $context);
if ($filter) {
print &$filter("some text");
}
else {
print "Could not fetch $name filter: $error\n";
}
DESCRIPTION
The "Template::Filters" module implements a provider for creating subroutines that
implement the standard filters. Additional custom filters may be provided via the FILTERS
configuration option.
METHODS
new(\%params)
Constructor method which instantiates and returns a reference to a "Template::Filters"
object. A reference to a hash array of configuration items may be passed as a parameter.
These are described below.
my $filters = Template::Filters->new({
FILTERS => { ... },
});
my $template = Template->new({
LOAD_FILTERS => [ $filters ],
});
A default "Template::Filters" module is created by the Template module if the LOAD_FILTERS
option isn't specified. All configuration parameters are forwarded to the constructor.
$template = Template->new({
FILTERS => { ... },
});
fetch($name, \@args, $context)
Called to request that a filter of a given name be provided. The name of the filter
should be specified as the first parameter. This should be one of the standard filters or
one specified in the FILTERS configuration hash. The second argument should be a
reference to an array containing configuration parameters for the filter. This may be
specified as 0, or undef where no parameters are provided. The third argument should be a
reference to the current Template::Context object.
The method returns a reference to a filter sub-routine on success. It may also return
"(undef, STATUS_DECLINE)" to decline the request, to allow delegation onto other filter
providers in the LOAD_FILTERS chain of responsibility. On error, "($error, STATUS_ERROR)"
is returned where $error is an error message or Template::Exception object indicating the
error that occurred.
When the "TOLERANT" option is set, errors are automatically downgraded to a
"STATUS_DECLINE" response.
use_html_entities()
This class method can be called to configure the "html_entity" filter to use the
HTML::Entities module. An error will be raised if it is not installed on your system.
use Template::Filters;
Template::Filters->use_html_entities();
use_apache_util()
This class method can be called to configure the "html_entity" filter to use the
Apache::Util module. An error will be raised if it is not installed on your system.
use Template::Filters;
Template::Filters->use_apache_util();
use_rfc2732()
This class method can be called to configure the "uri" and "url" filters to use the older
RFC2732 standard for matching unsafe characters.
use_rfc3986()
This class method can be called to configure the "uri" and "url" filters to use the newer
RFC3986 standard for matching unsafe characters.
CONFIGURATION OPTIONS
The following list summarises the configuration options that can be provided to the
"Template::Filters" new() constructor. Please see Template::Manual::Config for further
information about each option.
FILTERS
The FILTERS option can be used to specify custom filters which can then be used with the
FILTER directive like any other. These are added to the standard filters which are
available by default.
$filters = Template::Filters->new({
FILTERS => {
'sfilt1' => \&static_filter,
'dfilt1' => [ \&dyanamic_filter_factory, 1 ],
},
});
TOLERANT
The TOLERANT flag can be set to indicate that the "Template::Filters" module should ignore
any errors and instead return "STATUS_DECLINED".
DEBUG
The DEBUG option can be used to enable debugging messages for the Template::Filters module
by setting it to include the "DEBUG_FILTERS" value.
use Template::Constants qw( :debug );
my $template = Template->new({
DEBUG => DEBUG_FILTERS | DEBUG_PLUGINS,
});
STANDARD FILTERS
Please see Template::Manual::Filters for a list of the filters provided with the Template
Toolkit, complete with examples of use.
AUTHOR
Andy Wardley <abw AT wardley.org> <http://wardley.org/>
COPYRIGHT
Copyright (C) 1996-2014 Andy Wardley. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
SEE ALSO
Template::Manual::Filters, Template, Template::Context
perl v5.34.0 2022-02-06 Template::Filters(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 17:29 @216.73.216.164 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)