Mojolicious::Plugins

Section: User Contributed Perl Documentation (3pm)
Updated: 2022-12-22
Index Return to Main Contents
 

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


 

Index

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

This document was created by man2html, using the manual pages.
Time: 20:07:25 GMT, April 19, 2024