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.