manpagez: man pages & more
man Mojolicious::Plugins(3)
Home | html | info | man
Mojolicious::Plugins(3)



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(3), Mojolicious::Guides(3), <https://mojolicious.org>.



perl v5.32.1                      2021-12-08           Mojolicious::Plugins(3)

mojolicious 9.260.0 - Generated Thu Jun 2 13:33:17 CDT 2022
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.