| HTML::Mason::Compiler::ToObject(3pm) - phpMan
HTML::Mason::Compiler::ToObjectUser)Contributed Perl DocumentHTML::Mason::Compiler::ToObject(3pm)
NAME
HTML::Mason::Compiler::ToObject - A Compiler subclass that generates Mason object code
VERSION
version 1.54
SYNOPSIS
my $compiler = HTML::Mason::Compiler::ToObject->new;
my $object_code =
$compiler->compile( comp_source => $source,
name => $comp_name,
comp_path => $comp_path,
);
DESCRIPTION
This Compiler subclass generates Mason object code (Perl code). It is the default
Compiler class used by Mason.
PARAMETERS TO THE new() CONSTRUCTOR
All of these parameters are optional.
comp_class
The class into which component objects are blessed. This defaults to
HTML::Mason::Component.
subcomp_class
The class into which subcomponent objects are blessed. This defaults to
HTML::Mason::Component::Subcomponent.
in_package
This is the package in which a component's code is executed. For historical reasons,
this defaults to "HTML::Mason::Commands".
preamble
Text given for this parameter is placed at the beginning of each component, but after
the execution of any "<%once>" block. See also postamble. The request will be
available as $m in preamble code.
postamble
Text given for this parameter is placed at the end of each component. See also
preamble. The request will be available as $m in postamble code.
use_strict
True or false, default is true. Indicates whether or not a given component should "use
strict".
use_warnings
True or false, default is false. Indicates whether or not a given component should
"use warnings".
named_component_subs
When compiling a component, use uniquely named subroutines for the a component's body,
subcomponents, and methods. Doing this allows you to effectively profile Mason
components. Without this, all components simply show up as __ANON__ or something
similar in the profiler.
define_args_hash
One of "always", "auto", or "never". This determines whether or not an %ARGS hash is
created in components. If it is set to "always", one is always defined. If set to
"never", it is never defined.
The default, "auto", will cause the hash to be defined only if some part of the
component contains the string "ARGS". This is somewhat crude, and may result in some
false positives, but this is preferable to false negatives.
Not defining the args hash means that we can avoid copying component arguments, which
can save memory and slightly improve execution speed.
ACCESSOR METHODS
All of the above properties have read-only accessor methods of the same name. You cannot
change any property of a compiler after it has been created (but you can create multiple
compilers with different properties).
METHODS
This class is primarily meant to be used by the Interpreter object, and as such has a very
limited public API.
compile(...)
This method will take component source and return the compiled object code for that
source. See "compile(...)" in HTML::Mason::Compiler for details on this method.
This subclass also accepts a "comp_class" parameter, allowing you to override the
class into which the component is compiled.
SEE ALSO
Mason
AUTHORS
· Jonathan Swartz <swartz AT pobox.com>
· Dave Rolsky <autarch AT urth.org>
· Ken Williams <ken AT mathforum.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Jonathan Swartz.
This is free software; you can redistribute it and/or modify it under the same terms as
the Perl 5 programming language system itself.
perl v5.20.1 2014-01-19 HTML::Mason::Compiler::ToObject(3pm)
|