TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Extbase\Mvc\Controller\AbstractController Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Mvc\Controller\AbstractController:
TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface TYPO3\CMS\Extbase\Mvc\Controller\ActionController TYPO3\CMS\Extbase\Tests\Fixture\DummyController 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

 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)
 

Protected Member Functions

 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

 $signalSlotDispatcher
 
 $objectManager
 
 $uriBuilder
 
 $extensionName
 
 $settings
 
 $request
 
 $response
 
 $validatorResolver
 
 $arguments
 
 $supportedRequestTypes = [\TYPO3\CMS\Extbase\Mvc\Request::class]
 
 $controllerContext
 
 $configurationManager
 

Detailed Description

An abstract base class for Controllers

Definition at line 27 of file AbstractController.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::__construct ( )

Constructs the controller.

Definition at line 131 of file AbstractController.php.

Member Function Documentation

◆ addBaseUriIfNecessary()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::addBaseUriIfNecessary (   $uri)
protected

Adds the base uri if not already in place.

Parameters
string$uriThe URI
Returns
string

Definition at line 367 of file AbstractController.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\redirectToUri().

◆ addFlashMessage()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::addFlashMessage (   $messageBody,
  $messageTitle = '',
  $severity = \TYPO3\CMS\Core\Messaging\AbstractMessage::OK,
  $storeInSession = true 
)

◆ canProcessRequest()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::canProcessRequest ( \TYPO3\CMS\Extbase\Mvc\RequestInterface  $request)

Checks if the current request type is supported by the controller.

If your controller only supports certain request types, either replace / modify the supportedRequestTypes property or override this method.

Parameters
\TYPO3\CMS\Extbase\Mvc\RequestInterface$requestThe current request
Returns
bool TRUE if this request type is supported, otherwise FALSE

Implements TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface.

Definition at line 204 of file AbstractController.php.

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

◆ forward()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::forward (   $actionName,
  $controllerName = null,
  $extensionName = null,
array  $arguments = null 
)

Forwards the request to another action and / or controller.

Request is directly transferred to the other action / controller without the need for a new request.

Parameters
string$actionNameName of the action to forward to
string$controllerNameUnqualified object name of the controller to forward to. If not specified, the current controller is used.
string$extensionNameName of the extension containing the controller to forward to. If not specified, the current extension is assumed.
array$argumentsArguments to pass to the target action
Returns
void
Exceptions
StopActionException
See also
redirect()

Definition at line 276 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$arguments, and TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$extensionName.

Referenced by TYPO3\CMS\Beuser\Controller\BackendUserController\addToCompareListAction(), TYPO3\CMS\Form\Controller\FrontendController\confirmationAction(), TYPO3\CMS\Cshmanual\Controller\HelpController\detailAction(), TYPO3\CMS\Form\Controller\FrontendController\dispatchConfirmationButtonClickAction(), TYPO3\CMS\Install\Controller\BackendModuleController\enableInstallToolAction(), TYPO3\CMS\Extbase\Mvc\Controller\ActionController\forwardToReferringRequest(), OliverHader\IrreTutorial\Controller\QueueController\indexAction(), TYPO3\CMS\Install\Controller\BackendModuleController\indexAction(), TYPO3\CMS\Filelist\Controller\FileListController\initializeIndexAction(), TYPO3\CMS\Extensionmanager\Controller\DownloadController\installDistributionAction(), TYPO3\CMS\Extensionmanager\Controller\ActionController\installExtensionWithoutSystemDependencyCheckAction(), TYPO3\CMS\Extensionmanager\Controller\DownloadController\installExtensionWithoutSystemDependencyCheckAction(), OliverHader\IrreTutorial\Controller\AbstractController\process(), OliverHader\IrreTutorial\Controller\QueueController\processAction(), TYPO3\CMS\Beuser\Controller\BackendUserController\removeFromCompareListAction(), TYPO3\CMS\Filelist\Controller\FileListController\searchAction(), TYPO3\CMS\Form\Controller\FrontendController\skipForeignFormProcessing(), and TYPO3\CMS\Beuser\Controller\BackendUserController\terminateBackendUserSessionAction().

◆ getControllerContext()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::getControllerContext ( )

◆ injectConfigurationManager()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::injectConfigurationManager ( ConfigurationManagerInterface  $configurationManager)

◆ injectObjectManager()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::injectObjectManager ( \TYPO3\CMS\Extbase\Object\ObjectManagerInterface  $objectManager)

Injects the object manager

Parameters
\TYPO3\CMS\Extbase\Object\ObjectManagerInterface$objectManager
Returns
void

Definition at line 163 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$objectManager.

◆ injectSignalSlotDispatcher()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::injectSignalSlotDispatcher ( \TYPO3\CMS\Extbase\SignalSlot\Dispatcher  $signalSlotDispatcher)
Parameters
\TYPO3\CMS\Extbase\SignalSlot\Dispatcher$signalSlotDispatcher

Definition at line 86 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$signalSlotDispatcher.

◆ injectValidatorResolver()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::injectValidatorResolver ( \TYPO3\CMS\Extbase\Validation\ValidatorResolver  $validatorResolver)
Parameters
\TYPO3\CMS\Extbase\Validation\ValidatorResolver$validatorResolver

Definition at line 94 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$validatorResolver.

◆ processRequest()

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

Processes a general request. The result can be returned by altering the given response.

Parameters
\TYPO3\CMS\Extbase\Mvc\RequestInterface$requestThe request object
\TYPO3\CMS\Extbase\Mvc\ResponseInterface$responseThe response, modified by this handler
Returns
void
Exceptions
UnsupportedRequestTypeExceptionif the controller doesn't support the current request type

Implements TYPO3\CMS\Extbase\Mvc\Controller\ControllerInterface.

Definition at line 223 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$controllerContext, TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$request, TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$response, and TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\canProcessRequest().

◆ redirect()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::redirect (   $actionName,
  $controllerName = null,
  $extensionName = null,
array  $arguments = null,
  $pageUid = null,
  $delay = 0,
  $statusCode = 303 
)
protected

Redirects the request to another action and / or controller.

Redirect will be sent to the client which then performs another request to the new URI.

NOTE: This method only supports web requests and will thrown an exception if used with other request types.

Parameters
string$actionNameName of the action to forward to
string$controllerNameUnqualified object name of the controller to forward to. If not specified, the current controller is used.
string$extensionNameName of the extension containing the controller to forward to. If not specified, the current extension is assumed.
array$argumentsArguments to pass to the target action
int$pageUidTarget page uid. If NULL, the current page uid is used
int$delay(optional) The delay in seconds. Default is no delay.
int$statusCode(optional) The HTTP status code for the redirect. Default is "303 See Other
Returns
void
Exceptions
UnsupportedRequestTypeExceptionIf the request is not a web request
StopActionException
See also
forward()

Definition at line 315 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$arguments, TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$extensionName, and TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\redirectToUri().

Referenced by OliverHader\IrreTutorial\Controller\ContentController\createAction(), OliverHader\IrreTutorial\Controller\ContentController\deleteAction(), TYPO3\CMS\IndexedSearch\Controller\AdministrationController\deleteIndexedItemAction(), TYPO3\CMS\Reports\Controller\ReportController\detailAction(), TYPO3\CMS\Documentation\Controller\DocumentController\downloadAction(), TYPO3\CMS\Extensionmanager\Controller\UploadExtensionFileController\extractAction(), TYPO3\CMS\Documentation\Controller\DocumentController\fetchAction(), TYPO3\CMS\IndexedSearch\Controller\SearchController\initialize(), TYPO3\CMS\Reports\Controller\ReportController\initializeAction(), TYPO3\CMS\Extensionmanager\Controller\ConfigurationController\injectExtensionRepository(), TYPO3\CMS\Extensionmanager\Controller\DownloadController\installDistributionAction(), TYPO3\CMS\Workspaces\Controller\ReviewController\registerButtons(), TYPO3\CMS\Extensionmanager\Controller\ActionController\reloadExtensionDataAction(), TYPO3\CMS\Extensionmanager\Controller\ConfigurationController\saveAndCloseAction(), TYPO3\CMS\IndexedSearch\Controller\AdministrationController\saveStopwordsKeywordsAction(), TYPO3\CMS\IndexedSearch\Controller\AdministrationController\statisticDetailsAction(), TYPO3\CMS\Extensionmanager\Controller\ActionController\toggleExtensionInstallationStateAction(), and OliverHader\IrreTutorial\Controller\ContentController\updateAction().

◆ redirectToUri()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::redirectToUri (   $uri,
  $delay = 0,
  $statusCode = 303 
)
protected

Redirects the web request to another uri.

NOTE: This method only supports web requests and will thrown an exception if used with other request types.

Parameters
mixed$uriA string representation of a URI
int$delay(optional) The delay in seconds. Default is no delay.
int$statusCode(optional) The HTTP status code for the redirect. Default is "303 See Other
Exceptions
UnsupportedRequestTypeExceptionIf the request is not a web request
StopActionException

Definition at line 343 of file AbstractController.php.

References TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\addBaseUriIfNecessary().

Referenced by TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\redirect(), and TYPO3\CMS\Beuser\Controller\PermissionController\updateAction().

◆ throwStatus()

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::throwStatus (   $statusCode,
  $statusMessage = null,
  $content = null 
)

Sends the specified HTTP status immediately.

NOTE: This method only supports web requests and will thrown an exception if used with other request types.

Parameters
int$statusCodeThe HTTP status code
string$statusMessageA custom HTTP status message
string$contentBody content which further explains the status
Exceptions
UnsupportedRequestTypeExceptionIf the request is not a web request
StopActionException

Definition at line 384 of file AbstractController.php.

Member Data Documentation

◆ $arguments

◆ $configurationManager

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$configurationManager
protected

◆ $controllerContext

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$controllerContext
protected

◆ $extensionName

◆ $objectManager

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$objectManager
protected

◆ $request

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$request
protected

◆ $response

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$response
protected

◆ $settings

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$settings
protected

Definition at line 55 of file AbstractController.php.

◆ $signalSlotDispatcher

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$signalSlotDispatcher
protected

◆ $supportedRequestTypes

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$supportedRequestTypes = [\TYPO3\CMS\Extbase\Mvc\Request::class]
protected

Definition at line 106 of file AbstractController.php.

◆ $uriBuilder

◆ $validatorResolver

TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::$validatorResolver
protected