2 namespace TYPO3\CMS\Extbase\Mvc;
122 $this->dispatched = (bool)$flag;
150 if (null !== $this->controllerVendorName) {
152 $objectName = str_replace(
161 $this->controllerExtensionName,
162 $this->controllerSubpackageKey,
163 $this->controllerName,
164 $this->controllerVendorName,
167 $this->namespacedControllerObjectNamePattern
170 $objectName = str_replace(
178 $this->controllerExtensionName,
179 $this->controllerSubpackageKey,
180 $this->controllerName,
183 $this->controllerObjectNamePattern
187 if ($objectName ===
false) {
188 throw new \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchControllerException(
'The controller object "' . $objectName .
'" does not exist.', 1220884009);
203 $this->controllerVendorName = isset($nameParts[
'vendorName']) ? $nameParts[
'vendorName'] : null;
204 $this->controllerExtensionName = $nameParts[
'extensionName'];
205 $this->controllerSubpackageKey = isset($nameParts[
'subpackageKey']) ? $nameParts[
'subpackageKey'] : null;
206 $this->controllerName = $nameParts[
'controllerName'];
268 return \TYPO3\CMS\Core\Utility\GeneralUtility::camelCaseToLowerCaseUnderscored($this->controllerExtensionName);
280 $this->controllerSubpackageKey = $subpackageKey;
306 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException(
'The controller name must be a valid string, ' . gettype(
$controllerName) .
' given.', 1187176358);
309 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException(
'The controller name must not contain underscores.', 1217846412);
340 if (!is_string($actionName) && $actionName !== null) {
341 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidActionNameException(
'The action name must be a valid string, ' . gettype($actionName) .
' given (' . $actionName .
').', 1187176359);
343 if ($actionName[0] !== strtolower($actionName[0]) && $actionName !== null) {
344 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidActionNameException(
'The action name must start with a lower case letter, "' . $actionName .
'" does not match this criteria.', 1218473352);
346 if ($actionName !== null) {
347 $this->controllerActionName = $actionName;
360 if ($controllerObjectName !==
'' && $this->controllerActionName === strtolower($this->controllerActionName)) {
361 $actionMethodName = $this->controllerActionName .
'Action';
362 $classMethods = get_class_methods($controllerObjectName);
363 if (is_array($classMethods)) {
364 foreach ($classMethods as $existingMethodName) {
365 if (strtolower($existingMethodName) === strtolower($actionMethodName)) {
366 $this->controllerActionName = substr($existingMethodName, 0, -6);
386 if (!is_string($argumentName) || $argumentName ===
'') {
387 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentNameException(
'Invalid argument name.', 1210858767);
389 if ($argumentName[0] ===
'_' && $argumentName[1] ===
'_') {
390 $this->internalArguments[$argumentName] = $value;
393 switch ($argumentName) {
413 $this->arguments[$argumentName] = $value;
426 $this->controllerVendorName = $vendorName;
449 $this->arguments = array();
450 foreach ($arguments as $argumentName => $argumentValue) {
477 if (!isset($this->arguments[$argumentName])) {
478 throw new \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException(
'An argument "' . $argumentName .
'" does not exist for this request.', 1176558158);
480 return $this->arguments[$argumentName];
493 return isset($this->arguments[$argumentName]);
546 if ($this->originalRequestMappingResults === null) {
547 return new \TYPO3\CMS\Extbase\Error\Result();
580 if (!isset($this->internalArguments[$argumentName])) {
583 return $this->internalArguments[$argumentName];