Mojolicious::Plugins - Plugin manager

NAME  SYNOPSIS  DESCRIPTION  PLUGINS  EVENTS  ATTRIBUTES  namespaces  METHODS  emit_chain  emit_hook  emit_hook_reverse  load_plugin  register_plugin  SEE ALSO 

NAME

Mojolicious::Plugins − Plugin manager

SYNOPSIS

use Mojolicious::Plugins;
my $plugins = Mojolicious::Plugins−>new;
push @{$plugins−>namespaces}, 'MyApp::Plugin';

DESCRIPTION

Mojolicious::Plugins is the plugin manager of Mojolicious.

PLUGINS

The following plugins are included in the Mojolicious distribution as examples.
Mojolicious::Plugin::Config

Perl-ish configuration files.

Mojolicious::Plugin::DefaultHelpers

General purpose helper collection, loaded automatically.

Mojolicious::Plugin::EPLRenderer

Renderer for plain embedded Perl templates, loaded automatically.

Mojolicious::Plugin::EPRenderer

Renderer for more sophisticated embedded Perl templates, loaded automatically.

Mojolicious::Plugin::HeaderCondition

Route condition for all kinds of headers, loaded automatically.

Mojolicious::Plugin::JSONConfig

JSON configuration files.

Mojolicious::Plugin::Mount

Mount whole Mojolicious applications.

Mojolicious::Plugin::NotYAMLConfig

YAML configuration files.

Mojolicious::Plugin::TagHelpers

Template specific helper collection, loaded automatically.

EVENTS

Mojolicious::Plugins inherits all events from Mojo::EventEmitter.

ATTRIBUTES

Mojolicious::Plugins implements the following attributes.

namespaces

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';

METHODS

Mojolicious::Plugins inherits all methods from Mojo::EventEmitter and implements the following new ones.

emit_chain

$plugins−>emit_chain('foo');
$plugins−>emit_chain(foo => 123);

Emit events as chained hooks.

emit_hook

$plugins = $plugins−>emit_hook('foo');
$plugins = $plugins−>emit_hook(foo => 123);

Emit events as hooks.

emit_hook_reverse

$plugins = $plugins−>emit_hook_reverse('foo');
$plugins = $plugins−>emit_hook_reverse(foo => 123);

Emit events as hooks in reverse order.

load_plugin

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.

register_plugin

$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.

SEE ALSO

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.


Updated 2024-01-29 - jenkler.se | uex.se