Mojolicious::Plugins - Plugin manager
use Mojolicious::Plugins; my $plugins = Mojolicious::Plugins->new; push @{$plugins->namespaces}, 'MyApp::Plugin';
Mojolicious::Plugins is the plugin manager of Mojolicious.
The following plugins are included in the Mojolicious distribution as examples.
Perl-ish configuration files.
General purpose helper collection, loaded automatically.
Renderer for plain embedded Perl templates, loaded automatically.
Renderer for more sophisticated embedded Perl templates, loaded automatically.
Route condition for all kinds of headers, loaded automatically.
JSON configuration files.
Mount whole Mojolicious applications.
Template specific helper collection, loaded automatically.
Mojolicious::Plugins inherits all events from Mojo::EventEmitter.
Mojolicious::Plugins implements the following attributes.
my $namespaces = $plugins->namespaces; $plugins = $plugins->namespaces(['Mojolicious::Plugin']);
Namespaces to load plugins from, defaults to Mojolicious::Plugin.
# Add another namespace to load plugins from push @{$plugins->namespaces}, 'MyApp::Plugin';
Mojolicious::Plugins inherits all methods from Mojo::EventEmitter and implements the following new ones.
$plugins->emit_chain('foo'); $plugins->emit_chain(foo => 123);
Emit events as chained hooks.
$plugins = $plugins->emit_hook('foo'); $plugins = $plugins->emit_hook(foo => 123);
Emit events as hooks.
$plugins = $plugins->emit_hook_reverse('foo'); $plugins = $plugins->emit_hook_reverse(foo => 123);
Emit events as hooks in reverse order.
my $plugin = $plugins->load_plugin('some_thing'); my $plugin = $plugins->load_plugin('SomeThing'); my $plugin = $plugins->load_plugin('MyApp::Plugin::SomeThing');
Load a plugin from the configured namespaces or by full module name.
$plugins->register_plugin('some_thing', Mojolicious->new); $plugins->register_plugin('some_thing', Mojolicious->new, foo => 23); $plugins->register_plugin('some_thing', Mojolicious->new, {foo => 23}); $plugins->register_plugin('SomeThing', Mojolicious->new); $plugins->register_plugin('SomeThing', Mojolicious->new, foo => 23); $plugins->register_plugin('SomeThing', Mojolicious->new, {foo => 23}); $plugins->register_plugin('MyApp::Plugin::SomeThing', Mojolicious->new); $plugins->register_plugin( 'MyApp::Plugin::SomeThing', Mojolicious->new, foo => 23); $plugins->register_plugin( 'MyApp::Plugin::SomeThing', Mojolicious->new, {foo => 23});
Load a plugin from the configured namespaces or by full module name and run register, optional arguments are passed through.
register
Mojolicious, Mojolicious::Guides, https://mojolicious.org.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.