1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
  
     | 
    
      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', -signatures;
  sub register ($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
 
     |