—package
Mojolicious::Plugin;
use
Mojo::Base -base;
sub
register { croak
'Method "register" not implemented by subclass'
}
1;
=encoding utf8
=head1 NAME
Mojolicious::Plugin - Plugin base class
=head1 SYNOPSIS
# CamelCase plugin name
package Mojolicious::Plugin::MyPlugin;
use Mojo::Base 'Mojolicious::Plugin';
sub register {
my ($self, $app, $conf) = @_;
# Magic here! :)
}
=head1 DESCRIPTION
L<Mojolicious::Plugin> is an abstract base class for L<Mojolicious> plugins.
See L<Mojolicious::Plugins/"PLUGINS"> for a list of plugins that are available
by default.
=head1 METHODS
L<Mojolicious::Plugin> inherits all methods from L<Mojo::Base> and implements
the following new ones.
=head2 register
$plugin->register(Mojolicious->new);
$plugin->register(Mojolicious->new, {foo => 'bar'});
This method will be called by L<Mojolicious::Plugins> at startup time. Meant
to be overloaded in a subclass.
=head1 SEE ALSO
L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.
=cut