NAME

Amon2 - lightweight web application framework

SYNOPSIS

package MyApp;
use parent qw/Amon2/;
use Amon2::Config::Simple;
sub load_config { Amon2::Config::Simple->load(shift) }

DESCRIPTION

Amon2 is simple, readable, extensible, STABLE, FAST web application framework based on Plack.

METHODS

CLASS METHODS for Amon2 class

my $c = Amon2->context();

Get the context object.

Amon2->set_context($c)

Set your context object(INTERNAL USE ONLY).

CLASS METHODS for inherited class

MyApp->config()

This method returns configuration information. It is generated by MyApp->load_config().

MyApp->mode_name()

This is a mode name for Amon2. Default implementation of this method is:

sub mode_name { $ENV{PLACK_ENV} }

You can override this method if you want to determine the mode by other method.

MyApp->new()

Create new context object.

MyApp->bootstrap()
my $c = MyApp->bootstrap();

Create new context object and set it to global context. When you are writing CLI script, setup the global context object by this method.

MyApp->base_dir()

This method returns application base directory.

MyApp->load_plugin($module_name[, \%config])

This method loads plugin for the application.

$module_name: package name of the plugin. You can write it as two form like DBIx::Class:

__PACKAGE__->load_plugin("Web::HTTPSession");    # => loads Amon2::Plugin::Web::HTTPSession

If you want to load a plugin in your own name space, use '+' character before package name like following: __PACKAGE__->load_plugin("+MyApp::Plugin::Foo"); # => loads MyApp::Plugin::Foo

MyApp->load_plugins($module_name[, \%config ], ...)

Load multiple plugins at one time.

If you want to load a plugin in your own name space, use '+' character before package name like following:

__PACKAGE__->load_plugins("+MyApp::Plugin::Foo"); # => loads MyApp::Plugin::Foo
MyApp->load_config()

You can get a configuration hashref from config/$ENV{PLACK_ENV}.pl. You can override this method for customizing configuration loading method.

MyApp->add_config()

DEPRECATED.

DOCUMENTS

More complicated documents are available on http://amon.64p.org/

SUPPORTS

#amon at irc.perl.org is available.

AUTHOR

Tokuhiro Matsuno

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.