Mojolicious::Plugin::Component - Module-based Component Rendering
Module-based Component Rendering Plugin
package App; use Mojo::Base 'Mojolicious'; package App::Component::Image; use Mojo::Base 'Mojolicious::Component'; has alt => 'random'; has height => 126; has width => 145; has src => '/random.gif'; 1; # __DATA__ # # @@ component # # <img # alt="<%= $component->alt %>" # height="<%= $component->height %>" # src="<%= $component->src %>" # width="<%= $component->width %>" # /> package main; my $app = App->new; my $component = $app->plugin('component'); my $image = $app->component->use('image'); my $rendered = $image->render;
This package provides Mojolicious module-based component rendering plugin.
This package inherits behaviors from:
Mojolicious::Plugin
This package implements the following methods:
register(InstanceOf["Mojolicious"] $app, Maybe[HashRef] $config) : Object
The register method registers one or more component builders in the Mojolicious application. The configuration information can be provided when registering the plugin by calling plugin during setup, or by specifying the data in the application configuration under the key component. By default, if no configuration information is provided the plugin will register a builder labeled use which will load components under the application's Component namespace.
component
use
Component
package main; use Mojolicious::Plugin::Component; my $app = Mojolicious->new; my $component = Mojolicious::Plugin::Component->new; $component = $component->register($app);
package main; use Mojolicious::Plugin::Component; my $app = Mojolicious->new; my $component = Mojolicious::Plugin::Component->new; $component = $component->register($app, { v1 => 'App::V1::Component', v2 => 'App::V2::Component', }); # my $v1 = $app->component->v1('image'); # my $v2 = $app->component->v2('image');
package main; use Mojolicious::Plugin::Component; my $app = Mojolicious->new; my $component = Mojolicious::Plugin::Component->new; $component = $component->register($app, { v1 => 'App::V1::Component', v2 => 'App::V2::Component', }); # my $v1 = $app->component->v1('image' => ( # src => '/random-v1.gif', # )); # my $v2 = $app->component->v2('image' => ( # src => '/random-v2.gif', # ));
Al Newkirk, awncorp@cpan.org
awncorp@cpan.org
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".
Wiki
Project
Initiatives
Milestones
Contributing
Issues
To install Mojolicious::Plugin::Component, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious::Plugin::Component
CPAN shell
perl -MCPAN -e shell install Mojolicious::Plugin::Component
For more information on module installation, please visit the detailed CPAN module installation guide.