Catalyst::Controller - Catalyst Controller base class


NAME

Catalyst::Controller - Catalyst Controller base class


SYNOPSIS

  package MyApp::Controller::Search
  use base qw/Catalyst::Controller/;
  sub foo : Local { 
    my ($self,$c,@args) = @_;
    ... 
  } # Dispatches to /search/foo


DESCRIPTION

Controllers are where the actions in the Catalyst framework reside. Each action is represented by a function with an attribute to identify what kind of action it is. See the the Catalyst::Dispatcher manpage for more info about how Catalyst dispatches to actions.


CONFIGURATION

Like any other the Catalyst::Component manpage, controllers have a config hash, accessible through $self->config from the controller actions. Some settings are in use by the Catalyst framework:

namespace

This specifies the internal namespace the controller should be bound to. By default the controller is bound to the URI version of the controller name. For instance controller 'MyApp::Controller::Foo::Bar' will be bound to 'foo/bar'. The default Root controller is an example of setting namespace to '' (the null string).

path

Sets 'path_prefix', as described below.


METHODS

$class->new($app, @args)

Proxies through to NEXT::new and stashes the application instance as $self->_application.

$self->action_for('name')

Returns the Catalyst::Action object (if any) for a given method name in this component.

$self->register_actions($c)

Finds all applicable actions for this component, creates Catalyst::Action objects (using $self->create_action) for them and registers them with $c->dispatcher.

$self->action_namespace($c)

Returns the private namespace for actions in this component. Defaults to a value from the controller name (for e.g. MyApp::Controller::Foo::Bar becomes ``foo/bar'') or can be overridden from the ``namespace'' config key.

$self->path_prefix($c)

Returns the default path prefix for :Local, :LocalRegex and relative :Path actions in this component. Defaults to the action_namespace or can be overridden from the ``path'' config key.

$self->create_action(%args)

Called with a hash of data to be use for construction of a new Catalyst::Action (or appropriate sub/alternative class) object.

Primarily designed for the use of register_actions.

$self->_application

$self->_app

Returns the application instance stored by new()


AUTHOR

Sebastian Riedel, sri@oook.de Marcus Ramberg mramberg@cpan.org


COPYRIGHT

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

 Catalyst::Controller - Catalyst Controller base class