‪TYPO3CMS  9.5
ActionController.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
22 use ‪TYPO3\CMS\Extbase\Mvc\Web\Request as WebRequest;
25 use TYPO3Fluid\Fluid\View\TemplateView;
26 
31 {
35  protected ‪$reflectionService;
36 
40  protected ‪$cacheService;
41 
47  protected ‪$view;
48 
52  protected ‪$namespacesViewObjectNamePattern = '@vendor\@extension\View\@controller\@action@format';
53 
63  protected ‪$viewFormatToObjectNameMap = [];
64 
71  protected ‪$defaultViewObjectName = \TYPO3\CMS\Fluid\View\TemplateView::class;
72 
78  protected ‪$actionMethodName = 'indexAction';
79 
85  protected ‪$errorMethodName = 'errorAction';
86 
91 
97  protected ‪$request;
98 
104  protected ‪$response;
105 
110  {
111  $this->reflectionService = ‪$reflectionService;
112  }
113 
117  public function ‪injectCacheService(\‪TYPO3\CMS\‪Extbase\Service\CacheService ‪$cacheService)
118  {
119  $this->cacheService = ‪$cacheService;
120  }
121 
125  public function ‪injectMvcPropertyMappingConfigurationService(\‪TYPO3\CMS\‪Extbase\Mvc\Controller\MvcPropertyMappingConfigurationService ‪$mvcPropertyMappingConfigurationService)
126  {
127  $this->mvcPropertyMappingConfigurationService = ‪$mvcPropertyMappingConfigurationService;
128  }
129 
139  {
140  if (!$this->‪canProcessRequest($request)) {
141  throw new \TYPO3\CMS\Extbase\Mvc\Exception\UnsupportedRequestTypeException(static::class . ' does not support requests of type "' . get_class(‪$request) . '". Supported types are: ' . implode(' ', $this->supportedRequestTypes), 1187701131);
142  }
143 
144  if (‪$response instanceof \‪TYPO3\CMS\‪Extbase\Mvc\Web\‪Response && ‪$request instanceof WebRequest) {
145  ‪$response->setRequest(‪$request);
146  }
147  $this->request = ‪$request;
148  $this->request->‪setDispatched(true);
149  $this->response = ‪$response;
150  $this->uriBuilder = $this->objectManager->get(\‪TYPO3\CMS\‪Extbase\Mvc\Web\Routing\UriBuilder::class);
151  $this->uriBuilder->setRequest(‪$request);
152  $this->actionMethodName = $this->‪resolveActionMethodName();
155  $this->mvcPropertyMappingConfigurationService->initializePropertyMappingConfigurationFromRequest(‪$request, $this->arguments);
156  $this->‪initializeAction();
157  $actionInitializationMethodName = 'initialize' . ucfirst($this->actionMethodName);
158  if (method_exists($this, $actionInitializationMethodName)) {
159  call_user_func([$this, $actionInitializationMethodName]);
160  }
162  $this->controllerContext = $this->‪buildControllerContext();
163  $this->view = $this->‪resolveView();
164  if ($this->view !== null) {
165  $this->‪initializeView($this->view);
166  }
167  $this->‪callActionMethod();
168  $this->‪renderAssetsForRequest($request);
169  }
170 
186  protected function ‪renderAssetsForRequest(‪$request)
187  {
188  if (!$this->view instanceof TemplateView) {
189  // Only TemplateView (from Fluid engine, so this includes all TYPO3 Views based
190  // on TYPO3's AbstractTemplateView) supports renderSection(). The method is not
191  // declared on ViewInterface - so we must assert a specific class. We silently skip
192  // asset processing if the View doesn't match, so we don't risk breaking custom Views.
193  return;
194  }
195  $pageRenderer = $this->objectManager->get(PageRenderer::class);
196  $variables = ['request' => ‪$request, 'arguments' => ‪$this->arguments];
197  $headerAssets = $this->view->renderSection('HeaderAssets', $variables, true);
198  $footerAssets = $this->view->renderSection('FooterAssets', $variables, true);
199  if (!empty(trim($headerAssets))) {
200  $pageRenderer->addHeaderData($headerAssets);
201  }
202  if (!empty(trim($footerAssets))) {
203  $pageRenderer->addFooterData($footerAssets);
204  }
205  }
206 
216  protected function ‪initializeActionMethodArguments()
217  {
218  $methodParameters = $this->reflectionService
219  ->getClassSchema(static::class)
220  ->getMethod($this->actionMethodName)['params'] ?? [];
221 
222  foreach ($methodParameters as $parameterName => $parameterInfo) {
223  $dataType = null;
224  if (isset($parameterInfo['type'])) {
225  $dataType = $parameterInfo['type'];
226  } elseif ($parameterInfo['array']) {
227  $dataType = 'array';
228  }
229  if ($dataType === null) {
230  throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentTypeException('The argument type for parameter $' . $parameterName . ' of method ' . static::class . '->' . $this->actionMethodName . '() could not be detected.', 1253175643);
231  }
232  $defaultValue = $parameterInfo['hasDefaultValue'] === true ? $parameterInfo['defaultValue'] : null;
233  $this->arguments->addNewArgument($parameterName, $dataType, $parameterInfo['optional'] === false, $defaultValue);
234  }
235  }
236 
245  protected function ‪initializeActionMethodValidators()
246  {
247  if ($this->arguments->count() === 0) {
248  return;
249  }
250 
251  $classSchema = $this->reflectionService->getClassSchema(static::class);
252 
253  $ignoreValidationAnnotations = array_unique(array_flip(
254  $classSchema->getMethod($this->actionMethodName)['tags']['ignorevalidation'] ?? []
255  ));
256 
258  foreach ($this->arguments as $argument) {
259  if (isset($ignoreValidationAnnotations[$argument->getName()])) {
260  continue;
261  }
262 
263  ‪$validator = $this->objectManager->get(ConjunctionValidator::class);
264  $validatorDefinitions = $classSchema->getMethod($this->actionMethodName)['params'][$argument->getName()]['validators'] ?? [];
265 
266  foreach ($validatorDefinitions as $validatorDefinition) {
268  $validatorInstance = $this->objectManager->get(
269  $validatorDefinition['className'],
270  $validatorDefinition['options']
271  );
272 
273  ‪$validator->addValidator(
274  $validatorInstance
275  );
276  }
277 
278  $baseValidatorConjunction = $this->validatorResolver->getBaseValidatorConjunction($argument->getDataType());
279  if ($baseValidatorConjunction->count() > 0) {
280  ‪$validator->addValidator($baseValidatorConjunction);
281  }
282  $argument->setValidator(‪$validator);
283  }
284  }
285 
292  protected function ‪resolveActionMethodName()
293  {
294  ‪$actionMethodName = $this->request->getControllerActionName() . 'Action';
295  if (!method_exists($this, ‪$actionMethodName)) {
296  throw new \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchActionException('An action "' . ‪$actionMethodName . '" does not exist in controller "' . static::class . '".', 1186669086);
297  }
298  return ‪$actionMethodName;
299  }
300 
308  protected function ‪callActionMethod()
309  {
310  $preparedArguments = [];
312  foreach ($this->arguments as $argument) {
313  $preparedArguments[] = $argument->getValue();
314  }
315  $validationResult = $this->arguments->validate();
316  if (!$validationResult->hasErrors()) {
317  $this->‪emitBeforeCallActionMethodSignal($preparedArguments);
318  $actionResult = $this->{$this->actionMethodName}(...$preparedArguments);
319  } else {
320  $actionResult = $this->{$this->errorMethodName}();
321  }
322 
323  if ($actionResult === null && $this->view instanceof ViewInterface) {
324  $this->response->appendContent($this->view->render());
325  } elseif (is_string($actionResult) && $actionResult !== '') {
326  $this->response->appendContent($actionResult);
327  } elseif (is_object($actionResult) && method_exists($actionResult, '__toString')) {
328  $this->response->appendContent((string)$actionResult);
329  }
330  }
331 
337  protected function ‪emitBeforeCallActionMethodSignal(array $preparedArguments)
338  {
339  $this->signalSlotDispatcher->dispatch(__CLASS__, 'beforeCallActionMethod', [static::class, $this->actionMethodName, $preparedArguments]);
340  }
341 
348  protected function ‪resolveView()
349  {
350  $viewObjectName = $this->‪resolveViewObjectName();
351  if ($viewObjectName !== false) {
353  ‪$view = $this->objectManager->get($viewObjectName);
355  if (‪$view->‪canRender($this->controllerContext) === false) {
356  unset(‪$view);
357  }
358  }
359  if (!isset(‪$view) && $this->defaultViewObjectName != '') {
361  ‪$view = $this->objectManager->get($this->defaultViewObjectName);
363  if (‪$view->‪canRender($this->controllerContext) === false) {
364  unset(‪$view);
365  }
366  }
367  if (!isset(‪$view)) {
368  ‪$view = $this->objectManager->get(\‪TYPO3\CMS\‪Extbase\Mvc\View\NotFoundView::class);
369  ‪$view->‪assign('errorMessage', 'No template was found. View could not be resolved for action "'
370  . $this->request->getControllerActionName() . '" in class "' . $this->request->getControllerObjectName() . '"');
371  }
372  ‪$view->‪setControllerContext($this->controllerContext);
373  if (method_exists(‪$view, 'injectSettings')) {
374  ‪$view->injectSettings($this->settings);
375  }
377  // In TYPO3.Flow, solved through Object Lifecycle methods, we need to call it explicitly
378  ‪$view->‪assign('settings', $this->settings);
379  // same with settings injection.
380  return ‪$view;
381  }
382 
386  protected function ‪setViewConfiguration(ViewInterface ‪$view)
387  {
388  // Template Path Override
389  $extbaseFrameworkConfiguration = $this->configurationManager->getConfiguration(
391  );
392 
393  // set TemplateRootPaths
394  $viewFunctionName = 'setTemplateRootPaths';
395  if (method_exists(‪$view, $viewFunctionName)) {
396  $setting = 'templateRootPaths';
397  $parameter = $this->‪getViewProperty($extbaseFrameworkConfiguration, $setting);
398  // no need to bother if there is nothing to set
399  if ($parameter) {
400  ‪$view->$viewFunctionName($parameter);
401  }
402  }
403 
404  // set LayoutRootPaths
405  $viewFunctionName = 'setLayoutRootPaths';
406  if (method_exists(‪$view, $viewFunctionName)) {
407  $setting = 'layoutRootPaths';
408  $parameter = $this->‪getViewProperty($extbaseFrameworkConfiguration, $setting);
409  // no need to bother if there is nothing to set
410  if ($parameter) {
411  ‪$view->$viewFunctionName($parameter);
412  }
413  }
414 
415  // set PartialRootPaths
416  $viewFunctionName = 'setPartialRootPaths';
417  if (method_exists(‪$view, $viewFunctionName)) {
418  $setting = 'partialRootPaths';
419  $parameter = $this->‪getViewProperty($extbaseFrameworkConfiguration, $setting);
420  // no need to bother if there is nothing to set
421  if ($parameter) {
422  ‪$view->$viewFunctionName($parameter);
423  }
424  }
425  }
426 
437  protected function ‪getViewProperty($extbaseFrameworkConfiguration, $setting)
438  {
439  $values = [];
440  if (
441  !empty($extbaseFrameworkConfiguration['view'][$setting])
442  && is_array($extbaseFrameworkConfiguration['view'][$setting])
443  ) {
444  $values = $extbaseFrameworkConfiguration['view'][$setting];
445  }
446 
447  return $values;
448  }
449 
455  protected function ‪resolveViewObjectName()
456  {
457  $vendorName = $this->request->getControllerVendorName();
458  if ($vendorName === null) {
459  return false;
460  }
461 
462  $possibleViewName = str_replace(
463  [
464  '@vendor',
465  '@extension',
466  '@controller',
467  '@action'
468  ],
469  [
470  $vendorName,
471  $this->request->getControllerExtensionName(),
472  $this->request->getControllerName(),
473  ucfirst($this->request->getControllerActionName())
474  ],
475  $this->namespacesViewObjectNamePattern
476  );
477  $format = $this->request->getFormat();
478  $viewObjectName = str_replace('@format', ucfirst($format), $possibleViewName);
479  if (class_exists($viewObjectName) === false) {
480  $viewObjectName = str_replace('@format', '', $possibleViewName);
481  }
482  if (isset($this->viewFormatToObjectNameMap[$format]) && class_exists($viewObjectName) === false) {
483  $viewObjectName = $this->viewFormatToObjectNameMap[$format];
484  }
485  return class_exists($viewObjectName) ? $viewObjectName : false;
486  }
487 
496  protected function ‪initializeView(‪ViewInterface ‪$view)
497  {
498  }
499 
506  protected function ‪initializeAction()
507  {
508  }
509 
522  protected function ‪errorAction()
523  {
525  $this->‪addErrorFlashMessage();
527 
529  }
530 
535  protected function ‪clearCacheOnError()
536  {
537  $extbaseSettings = $this->configurationManager->getConfiguration(‪ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
538  if (isset($extbaseSettings['persistence']['enableAutomaticCacheClearing']) && $extbaseSettings['persistence']['enableAutomaticCacheClearing'] === '1') {
539  if (isset(‪$GLOBALS['TSFE'])) {
540  $pageUid = ‪$GLOBALS['TSFE']->id;
541  $this->cacheService->clearPageCache([$pageUid]);
542  }
543  }
544  }
545 
550  protected function ‪addErrorFlashMessage()
551  {
552  $errorFlashMessage = $this->‪getErrorFlashMessage();
553  if ($errorFlashMessage !== false) {
554  $this->‪addFlashMessage($errorFlashMessage, '', ‪FlashMessage::ERROR);
555  }
556  }
557 
565  protected function ‪getErrorFlashMessage()
566  {
567  return 'An error occurred while trying to call ' . static::class . '->' . $this->actionMethodName . '()';
568  }
569 
577  protected function ‪forwardToReferringRequest()
578  {
579  $referringRequest = $this->request->getReferringRequest();
580  if ($referringRequest !== null) {
581  $originalRequest = clone ‪$this->request;
582  $this->request->setOriginalRequest($originalRequest);
583  $this->request->setOriginalRequestMappingResults($this->arguments->validate());
584  $this->‪forward(
585  $referringRequest->getControllerActionName(),
586  $referringRequest->getControllerName(),
587  $referringRequest->getControllerExtensionName(),
588  $referringRequest->getArguments()
589  );
590  }
591  }
592 
600  protected function ‪getFlattenedValidationErrorMessage()
601  {
602  $outputMessage = 'Validation failed while trying to call ' . static::class . '->' . $this->actionMethodName . '().' . PHP_EOL;
603  return $outputMessage;
604  }
605 
614  public static function ‪getActionMethodParameters(‪$objectManager)
615  {
616  trigger_error(
617  'Method ' . __METHOD__ . ' is deprecated and will be removed in TYPO3 v10.0.',
618  E_USER_DEPRECATED
619  );
620 
621  ‪$reflectionService = ‪$objectManager->‪get(\‪TYPO3\CMS\‪Extbase\Reflection\ReflectionService::class);
622 
623  $result = [];
624 
625  $className = get_called_class();
626  $methodNames = get_class_methods($className);
627  foreach ($methodNames as $methodName) {
628  if (strlen($methodName) > 6 && strpos($methodName, 'Action', strlen($methodName) - 6) !== false) {
629  $result[$methodName] = ‪$reflectionService->‪getMethodParameters($className, $methodName);
630  }
631  }
632 
633  return $result;
634  }
635 }
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\resolveActionMethodName
‪string resolveActionMethodName()
Definition: ActionController.php:281
‪TYPO3\CMS\Extbase\Object\ObjectManagerInterface\get
‪object &T get($objectName,... $constructorArguments)
‪TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator
Definition: ConjunctionValidator.php:23
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\processRequest
‪processRequest(\TYPO3\CMS\Extbase\Mvc\RequestInterface $request, \TYPO3\CMS\Extbase\Mvc\ResponseInterface $response)
Definition: ActionController.php:127
‪TYPO3\CMS\Extbase\Mvc\Exception\StopActionException
Definition: StopActionException.php:26
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\getViewProperty
‪array getViewProperty($extbaseFrameworkConfiguration, $setting)
Definition: ActionController.php:426
‪TYPO3\CMS\Extbase\Annotation
Definition: IgnoreValidation.php:4
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\getActionMethodParameters
‪static array getActionMethodParameters($objectManager)
Definition: ActionController.php:603
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface\canRender
‪bool canRender(\TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext $controllerContext)
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\resolveView
‪ViewInterface resolveView()
Definition: ActionController.php:337
‪TYPO3\CMS\Extbase\Mvc\ResponseInterface
Definition: ResponseInterface.php:21
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$view
‪ViewInterface $view
Definition: ActionController.php:44
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\addErrorFlashMessage
‪addErrorFlashMessage()
Definition: ActionController.php:539
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\initializeAction
‪initializeAction()
Definition: ActionController.php:495
‪TYPO3
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\mapRequestArgumentsToControllerArguments
‪mapRequestArgumentsToControllerArguments()
Definition: AbstractController.php:394
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$defaultViewObjectName
‪string $defaultViewObjectName
Definition: ActionController.php:65
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface\initializeView
‪initializeView()
‪TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
Definition: ConfigurationManagerInterface.php:22
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\buildControllerContext
‪TYPO3 CMS Extbase Mvc Controller ControllerContext buildControllerContext()
Definition: AbstractController.php:220
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$viewFormatToObjectNameMap
‪array $viewFormatToObjectNameMap
Definition: ActionController.php:58
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\clearCacheOnError
‪clearCacheOnError()
Definition: ActionController.php:524
‪TYPO3\CMS\Extbase\Mvc\Controller
Definition: AbstractController.php:2
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\emitBeforeCallActionMethodSignal
‪emitBeforeCallActionMethodSignal(array $preparedArguments)
Definition: ActionController.php:326
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\errorAction
‪string errorAction()
Definition: ActionController.php:511
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\forwardToReferringRequest
‪forwardToReferringRequest()
Definition: ActionController.php:566
‪TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface\CONFIGURATION_TYPE_FRAMEWORK
‪const CONFIGURATION_TYPE_FRAMEWORK
Definition: ConfigurationManagerInterface.php:23
‪TYPO3\CMS\Extbase\Mvc\Response
Definition: Response.php:21
‪TYPO3\CMS\Extbase\Reflection\ReflectionService
Definition: ReflectionService.php:27
‪TYPO3\CMS\Core\Page\PageRenderer
Definition: PageRenderer.php:35
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$namespacesViewObjectNamePattern
‪string $namespacesViewObjectNamePattern
Definition: ActionController.php:48
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$response
‪TYPO3 CMS Extbase Mvc Response $response
Definition: ActionController.php:93
‪TYPO3\CMS\Extbase\Reflection\ReflectionService\getMethodParameters
‪array getMethodParameters($className, $methodName)
Definition: ReflectionService.php:229
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController
Definition: AbstractController.php:26
‪$validator
‪if(isset($args['d'])) $validator
Definition: validateRstFiles.php:218
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\callActionMethod
‪callActionMethod()
Definition: ActionController.php:297
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface\assign
‪TYPO3 CMS Extbase Mvc View ViewInterface assign($key, $value)
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\initializeActionMethodValidators
‪initializeActionMethodValidators()
Definition: ActionController.php:234
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface
Definition: ViewInterface.php:21
‪TYPO3\CMS\Extbase\Mvc\Web\Request
Definition: Request.php:21
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\resolveViewObjectName
‪mixed resolveViewObjectName()
Definition: ActionController.php:444
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$objectManager
‪TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
Definition: AbstractController.php:33
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\initializeActionMethodArguments
‪initializeActionMethodArguments()
Definition: ActionController.php:205
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$reflectionService
‪TYPO3 CMS Extbase Reflection ReflectionService $reflectionService
Definition: ActionController.php:34
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\setViewConfiguration
‪setViewConfiguration(ViewInterface $view)
Definition: ActionController.php:375
‪TYPO3\CMS\Extbase\Mvc\RequestInterface
Definition: RequestInterface.php:21
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$errorMethodName
‪string $errorMethodName
Definition: ActionController.php:77
‪TYPO3\CMS\Core\Messaging\FlashMessage
Definition: FlashMessage.php:22
‪TYPO3\CMS\Extbase\Mvc\Cli\Response
Definition: Response.php:23
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\injectReflectionService
‪injectReflectionService(\TYPO3\CMS\Extbase\Reflection\ReflectionService $reflectionService)
Definition: ActionController.php:98
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\$arguments
‪TYPO3 CMS Extbase Mvc Controller Arguments $arguments
Definition: AbstractController.php:67
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\initializeView
‪initializeView(ViewInterface $view)
Definition: ActionController.php:485
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$request
‪TYPO3 CMS Extbase Mvc Request $request
Definition: ActionController.php:87
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\getErrorFlashMessage
‪string getErrorFlashMessage()
Definition: ActionController.php:554
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController
Definition: ActionController.php:31
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\getFlattenedValidationErrorMessage
‪string getFlattenedValidationErrorMessage()
Definition: ActionController.php:589
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$cacheService
‪TYPO3 CMS Extbase Service CacheService $cacheService
Definition: ActionController.php:38
‪TYPO3\CMS\Extbase\Mvc\Controller\MvcPropertyMappingConfigurationService
Definition: MvcPropertyMappingConfigurationService.php:40
‪TYPO3\CMS\Extbase\Mvc\Cli\Request\setDispatched
‪setDispatched($flag)
Definition: Request.php:97
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\canProcessRequest
‪bool canProcessRequest(\TYPO3\CMS\Extbase\Mvc\RequestInterface $request)
Definition: AbstractController.php:180
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\injectCacheService
‪injectCacheService(\TYPO3\CMS\Extbase\Service\CacheService $cacheService)
Definition: ActionController.php:106
‪TYPO3\CMS\Extbase\Validation\Validator\ValidatorInterface
Definition: ValidatorInterface.php:21
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface\setControllerContext
‪setControllerContext(\TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext $controllerContext)
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$actionMethodName
‪string $actionMethodName
Definition: ActionController.php:71
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$mvcPropertyMappingConfigurationService
‪TYPO3 CMS Extbase Mvc Controller MvcPropertyMappingConfigurationService $mvcPropertyMappingConfigurationService
Definition: ActionController.php:81
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\addFlashMessage
‪addFlashMessage($messageBody, $messageTitle='', $severity=\TYPO3\CMS\Core\Messaging\AbstractMessage::OK, $storeInSession=true)
Definition: AbstractController.php:154
‪TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR
‪const ERROR
Definition: AbstractMessage.php:29
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\renderAssetsForRequest
‪renderAssetsForRequest($request)
Definition: ActionController.php:175
‪TYPO3\CMS\Extbase\Mvc\Controller\AbstractController\forward
‪forward($actionName, $controllerName=null, $extensionName=null, array $arguments=null)
Definition: AbstractController.php:247
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\injectMvcPropertyMappingConfigurationService
‪injectMvcPropertyMappingConfigurationService(\TYPO3\CMS\Extbase\Mvc\Controller\MvcPropertyMappingConfigurationService $mvcPropertyMappingConfigurationService)
Definition: ActionController.php:114