50 lines
1.0 KiB
Perl
50 lines
1.0 KiB
Perl
package Mojolicious::Plugin;
|
|
use Mojo::Base -base;
|
|
|
|
use Carp qw(croak);
|
|
|
|
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<https://mojolicious.org>.
|
|
|
|
=cut
|