Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MicroMason::TemplateDiUser Contributed Perl DocumentMicroMason::TemplateDir(3)

NAME
       Text::MicroMason::TemplateDir - Use Base	Directory and Relative Paths

SYNOPSIS
       Instead of using	this class directly, pass its name to be mixed in:

	   use Text::MicroMason;
	   my $mason = Text::MicroMason->new( -TemplateDir, template_root=>'/foo' );

       Use the standard	compile	and execute methods to parse and evalute
       templates:

	 print $mason->compile(	file=>$filepath	)->( 'name'=>'Dave' );
	 print $mason->execute(	file=>$filepath, 'name'=>'Dave'	);

       Templates stored	in files are looked up relative	to the template	root:

	   print $mason->execute( file=>"includes/greeting.msn", 'name'=>'Charles');

       When including other files into a template you can use relative paths:

	   <& ../includes/greeting.msn,	name =>	'Alice'	&>

DESCRIPTION
       This module changes the resolution of files passed to compile() and
       execute() to be relative	to a base directory path or to the currently
       executing template.

   Supported Attributes
       template_root
	   Base	directory from which to	find templates.

       strict_root
	   Optional directory beyond which not to read files. If set to	1,
	   uses	template_root, Causes read_file	to croak if any	filename
	   outside of the root is provided. (Note that this is not a chroot
	   jail	and only affects attempts to load a file as a template;	for
	   greater security see	the chroot() builtin and
	   Text::MicroMason::Safe.)

   Private Methods
       prepare
	   Intercepts uses of file templates and applies the base-path
	   adjustment.

       read_file
	   Intercepts file access to check for strict_root.

   EXCEPTIONS
       The following additional	exceptions are generated by
       Text::MicroMason::TemplateDir when appropriate:

       o   Text::MicroMason::TemplateDir: Strict root '%s' doesn't seem	to
	   exist

	   The strict_root directory (or template_root if strict_root is '1')
	   doesn't seem	to exist. Strict root checking uses Cwd's abs_path(),
	   and requires	the strict_root	directory to exist at the time the
	   check is performed.

       o   Text::MicroMason::TemplatePath: Template '%s' not in	required base
	   path	'%s'

	   The template	found in the configured	template path was not within
	   the configured strict_root directory. This may be caused by
	   requesting an absolute template filename not	within strict_root, or
	   by specifying a strict_root which does not match the	configured
	   template path.

SEE ALSO
       For an overview of this templating framework, see Text::MicroMason.

       This is a mixin class intended for use with Text::MicroMason::Base.

       For distribution, installation, support,	copyright and license
       information, see	Text::MicroMason::Docs::ReadMe.

perl v5.32.1			  2009-11-11	    MicroMason::TemplateDir(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Text::MicroMason::TemplateDir&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help