TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Extbase\Mvc\Controller\ActionController Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Mvc\Controller\ActionController:
TYPO3\CMS\Extbase\Mvc\Controller\AbstractController TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface ExtbaseTeam\BlogExample\Controller\BlogController ExtbaseTeam\BlogExample\Controller\ContentController OliverHader\IrreTutorial\Controller\AbstractController TYPO3\CMS\About\Controller\AboutController TYPO3\CMS\Aboutmodules\Controller\ModulesController TYPO3\CMS\Belog\Controller\AbstractController TYPO3\CMS\Beuser\Controller\BackendUserActionController TYPO3\CMS\Beuser\Controller\PermissionController TYPO3\CMS\Cshmanual\Controller\HelpController TYPO3\CMS\Documentation\Controller\DocumentController TYPO3\CMS\Extensionmanager\Controller\AbstractController TYPO3\CMS\Filelist\Controller\FileListController TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetController TYPO3\CMS\Form\Controller\FrontendController TYPO3\CMS\IndexedSearch\Controller\AdministrationController TYPO3\CMS\IndexedSearch\Controller\SearchController TYPO3\CMS\Install\Controller\BackendModuleController TYPO3\CMS\Lang\Controller\LanguageController TYPO3\CMS\Recycler\Controller\RecyclerModuleController TYPO3\CMS\Reports\Controller\ReportController TYPO3\CMS\SysNote\Controller\NoteController TYPO3\CMS\Viewpage\Controller\ViewModuleController TYPO3\CMS\Workspaces\Controller\AbstractController

Public Member Functions

 injectReflectionService (\TYPO3\CMS\Extbase\Reflection\ReflectionService $reflectionService)
 
 injectCacheService (\TYPO3\CMS\Extbase\Service\CacheService $cacheService)
 
 injectMvcPropertyMappingConfigurationService (\TYPO3\CMS\Extbase\Mvc\Controller\MvcPropertyMappingConfigurationService $mvcPropertyMappingConfigurationService)
 
 processRequest (\TYPO3\CMS\Extbase\Mvc\RequestInterface $request, \TYPO3\CMS\Extbase\Mvc\ResponseInterface $response)
 
- Public Member Functions inherited from TYPO3\CMS\Extbase\Mvc\Controller\AbstractController
 injectSignalSlotDispatcher (\TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher)
 
 injectValidatorResolver (\TYPO3\CMS\Extbase\Validation\ValidatorResolver $validatorResolver)
 
 getControllerContext ()
 
 __construct ()
 
 injectConfigurationManager (ConfigurationManagerInterface $configurationManager)
 
 injectObjectManager (\TYPO3\CMS\Extbase\Object\ObjectManagerInterface $objectManager)
 
 addFlashMessage ($messageBody, $messageTitle='', $severity=\TYPO3\CMS\Core\Messaging\AbstractMessage::OK, $storeInSession=true)
 
 canProcessRequest (\TYPO3\CMS\Extbase\Mvc\RequestInterface $request)
 
 processRequest (\TYPO3\CMS\Extbase\Mvc\RequestInterface $request, \TYPO3\CMS\Extbase\Mvc\ResponseInterface $response)
 
 forward ($actionName, $controllerName=null, $extensionName=null, array $arguments=null)
 
 throwStatus ($statusCode, $statusMessage=null, $content=null)
 

Static Public Member Functions

static getActionMethodParameters ($objectManager)
 

Protected Member Functions

 initializeActionMethodArguments ()
 
 resolveActionMethodName ()
 
 emitBeforeCallActionMethodSignal (array $preparedArguments)
 
 setViewConfiguration (ViewInterface $view)
 
 getViewProperty ($extbaseFrameworkConfiguration, $setting)
 
 resolveViewObjectName ()
 
 initializeView (ViewInterface $view)
 
 initializeAction ()
 
 errorAction ()
 
 clearCacheOnError ()
 
 addErrorFlashMessage ()
 
 getErrorFlashMessage ()
 
 forwardToReferringRequest ()
 
 getFlattenedValidationErrorMessage ()
 
- Protected Member Functions inherited from TYPO3\CMS\Extbase\Mvc\Controller\AbstractController
 redirect ($actionName, $controllerName=null, $extensionName=null, array $arguments=null, $pageUid=null, $delay=0, $statusCode=303)
 
 redirectToUri ($uri, $delay=0, $statusCode=303)
 
 addBaseUriIfNecessary ($uri)
 

Protected Attributes

 $reflectionService
 
 $cacheService
 
 $view = null
 
 $namespacesViewObjectNamePattern = '@vendor\@extension\View\@controller\@action@format'
 
 $viewFormatToObjectNameMap = []
 
 $defaultViewObjectName = \TYPO3\CMS\Fluid\View\TemplateView::class
 
 $actionMethodName = 'indexAction'
 
 $errorMethodName = 'errorAction'
 
 $mvcPropertyMappingConfigurationService
 
 $request
 
 $response
 
- Protected Attributes inherited from TYPO3\CMS\Extbase\Mvc\Controller\AbstractController
 $signalSlotDispatcher
 
 $objectManager
 
 $uriBuilder
 
 $extensionName
 
 $settings
 
 $request
 
 $response
 
 $validatorResolver
 
 $arguments
 
 $supportedRequestTypes = [\TYPO3\CMS\Extbase\Mvc\Request::class]
 
 $controllerContext
 
 $configurationManager
 

Detailed Description

A multi action controller. This is by far the most common base class for Controllers.

Definition at line 30 of file ActionController.php.

Member Function Documentation

◆ addErrorFlashMessage()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::addErrorFlashMessage ( )
protected

If an error occurred during this request, this adds a flash message describing the error to the flash message container.

Returns
void

Definition at line 554 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\addFlashMessage(), TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR, and TYPO3\CMS\Extbase\Mvc\Controller\ActionController\getErrorFlashMessage().

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\errorAction().

◆ clearCacheOnError()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::clearCacheOnError ( )
protected

Clear cache of current page on error. Needed because we want a re-evaluation of the data. Better would be just do delete the cache for the error action, but that is not possible right now.

Returns
void

Definition at line 537 of file ActionController.php.

References $GLOBALS, and TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface\CONFIGURATION_TYPE_FRAMEWORK.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\errorAction().

◆ emitBeforeCallActionMethodSignal()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::emitBeforeCallActionMethodSignal ( array  $preparedArguments)
protected

◆ errorAction()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::errorAction ( )
protected

A special action which is called if the originally intended action could not be called, for example if the arguments were not valid.

The default implementation sets a flash message, request errors and forwards back to the originating action. This is suitable for most actions dealing with form input.

We clear the page cache by default on an error as well, as we need to make sure the data is re-evaluated when the user changes something.

Returns
string

Definition at line 522 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\addErrorFlashMessage(), TYPO3\CMS\Extbase\Mvc\Controller\ActionController\clearCacheOnError(), TYPO3\CMS\Extbase\Mvc\Controller\ActionController\forwardToReferringRequest(), and TYPO3\CMS\Extbase\Mvc\Controller\ActionController\getFlattenedValidationErrorMessage().

◆ forwardToReferringRequest()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::forwardToReferringRequest ( )
protected

If information on the request before the current request was sent, this method forwards back to the originating request. This effectively ends processing of the current request, so do not call this method before you have finished the necessary business logic!

Returns
void
Exceptions
StopActionException

Definition at line 583 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$request, and TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\forward().

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\errorAction().

◆ getActionMethodParameters()

static TYPO3\CMS\Extbase\Mvc\Controller\ActionController::getActionMethodParameters (   $objectManager)
static

Returns a map of action method names and their parameters.

Parameters
\TYPO3\CMS\Extbase\Object\ObjectManagerInterface$objectManager
Returns
array Array of method parameters by action name

Definition at line 619 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$objectManager, and TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$reflectionService.

◆ getErrorFlashMessage()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::getErrorFlashMessage ( )
protected

A template method for displaying custom error flash messages, or to display no flash message at all on errors. Override this to customize the flash message in your action controller.

Returns
string The flash message or FALSE if no flash message should be set

Definition at line 570 of file ActionController.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\addErrorFlashMessage().

◆ getFlattenedValidationErrorMessage()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::getFlattenedValidationErrorMessage ( )
protected

Returns a string with a basic error message about validation failure. We may add all validation error messages to a log file in the future, but for security reasons (

See also
#54074) we do not return these here.
Returns
string

Definition at line 606 of file ActionController.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\errorAction().

◆ getViewProperty()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::getViewProperty (   $extbaseFrameworkConfiguration,
  $setting 
)
protected

Handles the path resolving for *rootPath(s)

numerical arrays get ordered by key ascending

Parameters
array$extbaseFrameworkConfiguration
string$settingparameter name from TypoScript
Returns
array

Definition at line 428 of file ActionController.php.

References TYPO3\CMS\Extbase\Utility\ArrayUtility\sortArrayWithIntegerKeys().

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\setViewConfiguration().

◆ initializeAction()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::initializeAction ( )
protected

Initializes the controller before invoking an action method.

Override this method to solve tasks which all actions have in common.

Returns
void

Definition at line 505 of file ActionController.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\processRequest().

◆ initializeActionMethodArguments()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::initializeActionMethodArguments ( )
protected

Implementation of the arguments initilization in the action controller: Automatically registers arguments of the current action

Don't override this method - use initializeAction() instead.

Exceptions

Definition at line 189 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$actionMethodName.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\processRequest().

◆ initializeView()

◆ injectCacheService()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::injectCacheService ( \TYPO3\CMS\Extbase\Service\CacheService  $cacheService)
Parameters
\TYPO3\CMS\Extbase\Service\CacheService$cacheService

Definition at line 125 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$cacheService.

◆ injectMvcPropertyMappingConfigurationService()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::injectMvcPropertyMappingConfigurationService ( \TYPO3\CMS\Extbase\Mvc\Controller\MvcPropertyMappingConfigurationService  $mvcPropertyMappingConfigurationService)
Parameters
\TYPO3\CMS\Extbase\Mvc\Controller\MvcPropertyMappingConfigurationService$mvcPropertyMappingConfigurationService

Definition at line 133 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$mvcPropertyMappingConfigurationService.

◆ injectReflectionService()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::injectReflectionService ( \TYPO3\CMS\Extbase\Reflection\ReflectionService  $reflectionService)
Parameters
\TYPO3\CMS\Extbase\Reflection\ReflectionService$reflectionService

Definition at line 117 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$reflectionService.

◆ processRequest()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::processRequest ( \TYPO3\CMS\Extbase\Mvc\RequestInterface  $request,
\TYPO3\CMS\Extbase\Mvc\ResponseInterface  $response 
)

◆ resolveActionMethodName()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::resolveActionMethodName ( )
protected

Resolves and checks the current action method name

Returns
string Method name of the current action
Exceptions

Definition at line 254 of file ActionController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$actionMethodName, and TYPO3\CMS\Extbase\Mvc\Controller\ActionController\emitBeforeCallActionMethodSignal().

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\processRequest().

◆ resolveViewObjectName()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::resolveViewObjectName ( )
protected

Determines the fully qualified view object name.

Returns
mixed The fully qualified view object name or FALSE if no matching view could be found.

Definition at line 448 of file ActionController.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\ActionController\emitBeforeCallActionMethodSignal().

◆ setViewConfiguration()

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::setViewConfiguration ( ViewInterface  $view)
protected

Member Data Documentation

◆ $actionMethodName

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$actionMethodName = 'indexAction'
protected

◆ $cacheService

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$cacheService
protected

◆ $defaultViewObjectName

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$defaultViewObjectName = \TYPO3\CMS\Fluid\View\TemplateView::class
protected

Definition at line 74 of file ActionController.php.

◆ $errorMethodName

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$errorMethodName = 'errorAction'
protected

Definition at line 90 of file ActionController.php.

◆ $mvcPropertyMappingConfigurationService

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$mvcPropertyMappingConfigurationService
protected

◆ $namespacesViewObjectNamePattern

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$namespacesViewObjectNamePattern = '@vendor\@extension\View\@controller\@action@format'
protected

Definition at line 54 of file ActionController.php.

◆ $reflectionService

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$reflectionService
protected

◆ $request

◆ $response

◆ $view

◆ $viewFormatToObjectNameMap

TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$viewFormatToObjectNameMap = []
protected

Definition at line 65 of file ActionController.php.