1Mojolicious::Plugins(3)User Contributed Perl DocumentatioMnojolicious::Plugins(3)
2
3
4
6 Mojolicious::Plugins - Plugin manager
7
9 use Mojolicious::Plugins;
10
11 my $plugins = Mojolicious::Plugins->new;
12 push @{$plugins->namespaces}, 'MyApp::Plugin';
13
15 Mojolicious::Plugins is the plugin manager of Mojolicious.
16
18 The following plugins are included in the Mojolicious distribution as
19 examples.
20
21 Mojolicious::Plugin::Config
22 Perl-ish configuration files.
23
24 Mojolicious::Plugin::DefaultHelpers
25 General purpose helper collection, loaded automatically.
26
27 Mojolicious::Plugin::EPLRenderer
28 Renderer for plain embedded Perl templates, loaded automatically.
29
30 Mojolicious::Plugin::EPRenderer
31 Renderer for more sophisticated embedded Perl templates, loaded
32 automatically.
33
34 Mojolicious::Plugin::HeaderCondition
35 Route condition for all kinds of headers, loaded automatically.
36
37 Mojolicious::Plugin::JSONConfig
38 JSON configuration files.
39
40 Mojolicious::Plugin::Mount
41 Mount whole Mojolicious applications.
42
43 Mojolicious::Plugin::TagHelpers
44 Template specific helper collection, loaded automatically.
45
47 Mojolicious::Plugins inherits all events from Mojo::EventEmitter.
48
50 Mojolicious::Plugins implements the following attributes.
51
52 namespaces
53 my $namespaces = $plugins->namespaces;
54 $plugins = $plugins->namespaces(['Mojolicious::Plugin']);
55
56 Namespaces to load plugins from, defaults to Mojolicious::Plugin.
57
58 # Add another namespace to load plugins from
59 push @{$plugins->namespaces}, 'MyApp::Plugin';
60
62 Mojolicious::Plugins inherits all methods from Mojo::EventEmitter and
63 implements the following new ones.
64
65 emit_chain
66 $plugins->emit_chain('foo');
67 $plugins->emit_chain(foo => 123);
68
69 Emit events as chained hooks.
70
71 emit_hook
72 $plugins = $plugins->emit_hook('foo');
73 $plugins = $plugins->emit_hook(foo => 123);
74
75 Emit events as hooks.
76
77 emit_hook_reverse
78 $plugins = $plugins->emit_hook_reverse('foo');
79 $plugins = $plugins->emit_hook_reverse(foo => 123);
80
81 Emit events as hooks in reverse order.
82
83 load_plugin
84 my $plugin = $plugins->load_plugin('some_thing');
85 my $plugin = $plugins->load_plugin('SomeThing');
86 my $plugin = $plugins->load_plugin('MyApp::Plugin::SomeThing');
87
88 Load a plugin from the configured namespaces or by full module name.
89
90 register_plugin
91 $plugins->register_plugin('some_thing', Mojolicious->new);
92 $plugins->register_plugin('some_thing', Mojolicious->new, foo => 23);
93 $plugins->register_plugin('some_thing', Mojolicious->new, {foo => 23});
94 $plugins->register_plugin('SomeThing', Mojolicious->new);
95 $plugins->register_plugin('SomeThing', Mojolicious->new, foo => 23);
96 $plugins->register_plugin('SomeThing', Mojolicious->new, {foo => 23});
97 $plugins->register_plugin('MyApp::Plugin::SomeThing', Mojolicious->new);
98 $plugins->register_plugin(
99 'MyApp::Plugin::SomeThing', Mojolicious->new, foo => 23);
100 $plugins->register_plugin(
101 'MyApp::Plugin::SomeThing', Mojolicious->new, {foo => 23});
102
103 Load a plugin from the configured namespaces or by full module name and
104 run "register", optional arguments are passed through.
105
107 Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
108
109
110
111perl v5.30.1 2020-01-30 Mojolicious::Plugins(3)