128 $this->dispatched = $flag ? TRUE : FALSE;
154 if (NULL !== $this->controllerVendorName) {
156 $objectName = str_replace(
165 $this->controllerExtensionName,
166 $this->controllerSubpackageKey,
167 $this->controllerName,
168 $this->controllerVendorName,
171 $this->namespacedControllerObjectNamePattern
174 $objectName = str_replace(
182 $this->controllerExtensionName,
183 $this->controllerSubpackageKey,
184 $this->controllerName,
187 $this->controllerObjectNamePattern
191 if ($objectName === FALSE) {
192 throw new \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchControllerException(
'The controller object "' . $objectName .
'" does not exist.', 1220884009);
206 $this->controllerVendorName = isset($nameParts[
'vendorName']) ? $nameParts[
'vendorName'] : NULL;
207 $this->controllerExtensionName = $nameParts[
'extensionName'];
208 $this->controllerSubpackageKey = isset($nameParts[
'subpackageKey']) ? $nameParts[
'subpackageKey'] : NULL;
209 $this->controllerName = $nameParts[
'controllerName'];
266 return \TYPO3\CMS\Core\Utility\GeneralUtility::camelCaseToLowerCaseUnderscored($this->controllerExtensionName);
277 $this->controllerSubpackageKey = $subpackageKey;
301 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException(
'The controller name must be a valid string, ' . gettype(
$controllerName) .
' given.', 1187176358);
304 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException(
'The controller name must not contain underscores.', 1217846412);
333 if (!is_string($actionName) && $actionName !== NULL) {
334 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidActionNameException(
'The action name must be a valid string, ' . gettype($actionName) .
' given (' . $actionName .
').', 1187176359);
336 if ($actionName[0] !== strtolower($actionName[0]) && $actionName !== NULL) {
337 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);
339 if ($actionName !== NULL) {
340 $this->controllerActionName = $actionName;
352 if ($controllerObjectName !==
'' && $this->controllerActionName === strtolower($this->controllerActionName)) {
353 $actionMethodName = $this->controllerActionName .
'Action';
354 $classMethods = get_class_methods($controllerObjectName);
355 if (is_array($classMethods)) {
356 foreach ($classMethods as $existingMethodName) {
357 if (strtolower($existingMethodName) === strtolower($actionMethodName)) {
358 $this->controllerActionName = substr($existingMethodName, 0, -6);
377 if (!is_string($argumentName) || strlen($argumentName) == 0) {
378 throw new \TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentNameException(
'Invalid argument name.', 1210858767);
380 if ($argumentName[0] ===
'_' && $argumentName[1] ===
'_') {
381 $this->internalArguments[$argumentName] = $value;
384 if (!in_array($argumentName, array(
'@extension',
'@subpackage',
'@controller',
'@action',
'@format',
'@vendor'), TRUE)) {
385 $this->arguments[$argumentName] = $value;
397 $this->controllerVendorName = $vendorName;
418 $this->arguments = array();
419 foreach ($arguments as $argumentName => $argumentValue) {
444 if (!isset($this->arguments[$argumentName])) {
445 throw new \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException(
'An argument "' . $argumentName .
'" does not exist for this request.', 1176558158);
447 return $this->arguments[$argumentName];
459 return isset($this->arguments[$argumentName]);
529 if ($this->originalRequestMappingResults === NULL) {
530 return new \TYPO3\CMS\Extbase\Error\Result();
560 if (!isset($this->internalArguments[$argumentName])) {
563 return $this->internalArguments[$argumentName];
hasArgument($argumentName)
setControllerName($controllerName)
setControllerObjectName($controllerObjectName)
getControllerSubpackageKey()
static explodeObjectControllerName($controllerObjectName)
setPluginName($pluginName=NULL)
getControllerExtensionName()
setArgument($argumentName, $value)
setControllerActionName($actionName)
getControllerExtensionKey()
const PATTERN_MATCH_FORMAT
setOriginalRequestMappingResults(\TYPO3\CMS\Extbase\Error\Result $originalRequestMappingResults)
getArgument($argumentName)
getInternalArgument($argumentName)
setArguments(array $arguments)
setControllerExtensionName($controllerExtensionName)
getOriginalRequestMappingResults()
$originalRequestMappingResults
setControllerSubpackageKey($subpackageKey)
$controllerObjectNamePattern
setControllerVendorName($vendorName)
getControllerObjectName()
getControllerActionName()
$namespacedControllerObjectNamePattern
getControllerVendorName()
setOriginalRequest(\TYPO3\CMS\Extbase\Mvc\Request $originalRequest)