NAME

ClearPress::controller - Application controller

VERSION

$Revision: 367 $

SYNOPSIS

DESCRIPTION

SUBROUTINES/METHODS

new - constructor, usually no specific arguments

my $oController = application::controller->new();

init - post-constructor initialisation, called after new()

$oController->init();

session

util

decorator - get/set accessor for a page decorator implementing the ClearPress::decorator interface

$oController->decorator($oDecorator);

my $oDecorator = $oController->decorator();

accept_extensions - data structure of file-extensions-to-aspect mappings (e.g. '.xml', '.js') in precedence order

my $arAcceptedExtensions = $oController->accept_extensions();

[
 {'.ext' => '_aspect'},
 {'.js'  => '_json'},
]

accept_headers - data structure of accept_header-to-aspect mappings (e.g. 'text/xml', 'application/javascript') in precedence order

my $arAcceptedHeaders = $oController->accept_headers();

[
 {'text/mytype'            => '_aspect'},
 {'application/javascript' => '_json'},
]

process_uri - deprecated. use process_request()

process_request - extract useful things from %ENV relating to our URI

my ($sAction, $sEntity, $sAspect, $sId) = $oCtrl->process_request($oUtil);

handler - run the controller

namespace - top-level package namespace from config.ini

my $sNS = $oCtrl->namespace();
my $sNS = app::controller->namespace();

packagespace - mangled namespace given a package- and entity-type

my $pNS = $oCtrl->packagespace('model', 'entity_type');
my $pNS = $oCtrl->packagespace('view',  'entity_type');
my $pNS = app::controller->packagespace('model', 'entity_type', $oUtil);
my $pNS = app::controller->packagespace('view',  'entity_type', $oUtil);

dispatch - view generation

build_error_object - builds an error view object

DIAGNOSTICS

CONFIGURATION AND ENVIRONMENT

DEPENDENCIES

strict
warnings
English
Carp
ClearPress::decorator
ClearPress::view::error
CGI

INCOMPATIBILITIES

BUGS AND LIMITATIONS

AUTHOR

Roger Pettett, <rpettett@cpan.org>

LICENSE AND COPYRIGHT

Copyright (C) 2008 Roger Pettett

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.