The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst - The Elegant MVC Web Application Framework

SYNOPSIS

    # use the helper to start a new application
    catalyst MyApp
    cd MyApp

    # add models, views, controllers
    bin/create model Something
    bin/create view Stuff
    bin/create controller Yada

    # built in testserver
    bin/server

    # command line interface
    bin/test /yada


    See also L<Catalyst::Manual::Intro>


    use Catalyst;

    use Catalyst qw/My::Module My::OtherModule/;

    use Catalyst '-Debug';

    use Catalyst qw/-Debug -Engine=CGI/;

    __PACKAGE__->action( '!default' => sub { $_[1]->res->output('Hello') } );

    __PACKAGE__->action(
        'index.html' => sub {
            my ( $self, $c ) = @_;
            $c->res->output('Hello');
            $c->forward('_foo');
        }
    );

    __PACKAGE__->action(
        '/^product[_]*(\d*).html$/' => sub {
            my ( $self, $c ) = @_;
            $c->stash->{template} = 'product.tt';
            $c->stash->{product} = $c->req->snippets->[0];
        }
    );

DESCRIPTION

Catalyst is based upon Maypole, which you should consider for smaller projects.

The key concept of Catalyst is DRY (Don't Repeat Yourself).

See Catalyst::Manual for more documentation.

Omit the Catalyst::Plugin:: prefix from plugins. So Catalyst::Plugin::My::Module becomes My::Module.

    use Catalyst 'My::Module';

You can also set special flags like -Debug and -Engine.

    use Catalyst qw/-Debug My::Module/;

The position of plugins and flags in the chain is important, because they are loaded in the same order they appear.

-Debug

    use Catalyst '-Debug';

is equivalent to

    use Catalyst;
    sub debug { 1 }

-Engine

Force Catalyst to use a specific engine. Omit the Catalyst::Engine:: prefix.

    use Catalyst '-Engine=CGI';

METHODS

debug

Overload to enable debug messages.

config

Returns a hashref containing your applications settings.

SEE ALSO

Catalyst::Manual, Catalyst::Test, Catalyst::Request, Catalyst::Response, Catalyst::Engine

AUTHOR

Sebastian Riedel, sri@oook.de

THANK YOU

Danijel Milicevic, David Naughton, Gary Ashton Jones, Jesse Sheidlower, Marcus Ramberg and all the others who've helped.

LICENSE

This library is free software . You can redistribute it and/or modify it under the same terms as perl itself.