Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mason::manual::subclasses(3pm) [debian man page]

Mason::Manual::Subclasses(3pm)				User Contributed Perl Documentation			    Mason::Manual::Subclasses(3pm)

NAME
Mason::Manual::Subclasses - Creating custom subclasses of Mason's classes DESCRIPTION
You can subclass the following Mason classes for your application: Mason::CodeCache Mason::Compilation Mason::Component Mason::Component::ClassMeta Mason::Component::Import Mason::Component::Moose Mason::Interp Mason::Request Mason::Result and arrange things so that Mason always uses your subclass instead of its default class. Note: if you want to create a general purpose modification to Mason to use in multiple applications, you should probably create a plugin instead of a subclass. CREATING A SUBCLASS
A subclass should look something like this: package My::Mason::Interp; use Moose; extends 'Mason::Interp'; # put your modifications here 1; LETTING MASON KNOW ABOUT YOUR SUBCLASSES
There are two ways to let Mason know about your subclasses: by naming convention, and by parameters to "Mason->new". By naming convention First, create a subclass of Mason itself: package My::Mason; use Moose; extends 'Mason'; 1; and use that in place of "Mason" in construction: my $interp = My::Mason->new(); Now, you can place any subclasses under 'My::Mason' and they'll automatically be picked up. e.g. My::Mason::Compilation My::Mason::Interp My::Mason::Request By constructor parameter You can specify your subclasses via "base_*" parameters to "Mason->new()". e.g. my $interp = Mason->new( base_compilation_class => 'My::Mason::Compilation', base_interp_class => 'My::Mason::Interp' base_request_class => 'Some::Other::Mason::Request' ); See "CUSTOM MASON CLASSES" in Mason::Interp for a complete list. SEE ALSO
Mason AUTHOR
Jonathan Swartz <swartz@pobox.com> COPYRIGHT AND LICENSE
This software is copyright (c) 2011 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.14.2 2012-05-02 Mason::Manual::Subclasses(3pm)

Check Out this Related Man Page

Mason::Filters::Standard(3pm)				User Contributed Perl Documentation			     Mason::Filters::Standard(3pm)

NAME
Mason::Filters::Standard - Standard filters DESCRIPTION
These filters are automatically composed into Mason::Component. FILTERS
Capture ($ref) Uses "$m->capture" to capture the content in $ref instead of outputting it. % $.Capture(my $content) {{ <!-- this will end up in $content --> % }} ... do something with $content CompCall ($path, @args...) Calls the component with path and @args, just as with "$m->scomp", with an additional coderef argument "yield" that can be invoked to generate the content. Arguments passed to "yield" can be accessed inside the content via @_. This is the replacement for Mason 1's Components With Content <http://search.cpan.org/perldoc?HTML::Mason::Devel#Component_Calls_with_Content>. In index.mc: % $.CompCall ('list_items.mi', items => @items) {{ <li><% $_[0] %></li> % }} In list_items.mi: <%class> has 'items'; has 'yield'; </%class> % foreach my $item (@{$.items}) { <% $.yield->($item) %> % } NoBlankLines Remove lines with only whitespace from content. This % $.NoBlankLines {{ hello world % }} yields hello world Repeat ($count) Repeat the content block $count times. Note that the block is re-executed each time, which may result in different content. <!-- Prints 1 to 5 --> % my $i = 1; % $.Repeat(5) {{ <% $i++ %><br> % }} Tee ($ref) Uses "$m->capture" to capture the content in $ref, and also output it. % $.Tee(my $content) {{ <!-- this will end up in $content and also be output --> % }} ... <!-- output content again down here --> <% $content %> Trim Remove whitespace from the beginning and end of the content. SEE ALSO
Mason::Manual::Filters, Mason AUTHOR
Jonathan Swartz <swartz@pobox.com> COPYRIGHT AND LICENSE
This software is copyright (c) 2011 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.14.2 2012-05-02 Mason::Filters::Standard(3pm)
Man Page