‪TYPO3CMS  11.5
TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectConfigurationManager (ConfigurationManagerInterface $configurationManager)
 
 injectExtensionService (ExtensionService $extensionService)
 
Request build (ServerRequestInterface $mainRequest)
 

Protected Member Functions

 loadDefaultValues ()
 
string resolveControllerClassName (array $parameters)
 
string resolveActionName ($controllerClassName, array $parameters)
 
array untangleFilesArray (array $convolutedFiles)
 
array calculateFieldPaths (array $structure, $firstLevelFieldName=null)
 

Protected Attributes

string $pluginName = 'plugin'
 
string $extensionName
 
string $defaultControllerName = ''
 
string $defaultFormat = 'html'
 
array $allowedControllerActions = array( )
 
ConfigurationManagerInterface $configurationManager
 
ExtensionService $extensionService
 

Private Attributes

string $defaultControllerClassName
 
array $controllerAliasToClassMapping = array( )
 
array $controllerClassToAliasMapping = array( )
 
array string[] $allowedControllerAliases = array( )
 

Detailed Description

Builds a web request.

only to be used within Extbase, not part of TYPO3 Core API.

Definition at line 36 of file RequestBuilder.php.

Member Function Documentation

◆ build()

Request TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::build ( ServerRequestInterface  $mainRequest)

◆ calculateFieldPaths()

array TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::calculateFieldPaths ( array  $structure,
  $firstLevelFieldName = null 
)
protected

Returns an array of all possibles "field paths" for the given array.

Parameters
array$structure‪The array to walk through
string$firstLevelFieldName
Returns
‪array An array of paths (as strings) in the format "key1/key2/key3" ...

Definition at line 309 of file RequestBuilder.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\untangleFilesArray().

◆ injectConfigurationManager()

TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::injectConfigurationManager ( ConfigurationManagerInterface  $configurationManager)
Parameters
ConfigurationManagerInterface$configurationManager

Definition at line 97 of file RequestBuilder.php.

References TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\$configurationManager.

◆ injectExtensionService()

TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::injectExtensionService ( ExtensionService  $extensionService)
Parameters
ExtensionService$extensionService

Definition at line 105 of file RequestBuilder.php.

References TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\$extensionService.

◆ loadDefaultValues()

TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::loadDefaultValues ( )
protected
Exceptions
MvcException
See also
‪\TYPO3\CMS\Extbase\Core\Bootstrap::initializeConfiguration

Definition at line 114 of file RequestBuilder.php.

References TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface\CONFIGURATION_TYPE_FRAMEWORK.

Referenced by TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\build().

◆ resolveActionName()

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::resolveActionName (   $controllerClassName,
array  $parameters 
)
protected

Returns the current actionName extracted from given $parameters. If no action is specified, the defaultActionName will be returned. If that's not available or the specified action is not defined in the current plugin, an exception is thrown.

Parameters
string$controllerClassName
array$parameters
Exceptions

Definition at line 239 of file RequestBuilder.php.

References TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface\CONFIGURATION_TYPE_FRAMEWORK.

Referenced by TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\build().

◆ resolveControllerClassName()

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::resolveControllerClassName ( array  $parameters)
protected

Returns the current ControllerName extracted from given $parameters. If no controller is specified, the defaultControllerName will be returned. If that's not available, an exception is thrown.

Parameters
array$parameters
Exceptions

Definition at line 202 of file RequestBuilder.php.

References TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\$defaultControllerClassName, and TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface\CONFIGURATION_TYPE_FRAMEWORK.

Referenced by TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\build().

◆ untangleFilesArray()

array TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::untangleFilesArray ( array  $convolutedFiles)
protected

Transforms the convoluted _FILES superglobal into a manageable form.

Parameters
array$convolutedFiles‪The _FILES superglobal
Returns
‪array Untangled files

Definition at line 269 of file RequestBuilder.php.

References TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\calculateFieldPaths(), TYPO3\CMS\Core\Utility\ArrayUtility\getValueByPath(), and TYPO3\CMS\Core\Utility\ArrayUtility\setValueByPath().

Referenced by TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\build().

Member Data Documentation

◆ $allowedControllerActions

array TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$allowedControllerActions = array( )
protected

The allowed actions of the controller. This actions can be called via $_GET and $_POST.

Definition at line 72 of file RequestBuilder.php.

◆ $allowedControllerAliases

array string [] TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$allowedControllerAliases = array( )
private

Definition at line 92 of file RequestBuilder.php.

◆ $configurationManager

ConfigurationManagerInterface TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$configurationManager
protected

◆ $controllerAliasToClassMapping

array TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$controllerAliasToClassMapping = array( )
private

Definition at line 84 of file RequestBuilder.php.

◆ $controllerClassToAliasMapping

array TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$controllerClassToAliasMapping = array( )
private

Definition at line 88 of file RequestBuilder.php.

◆ $defaultControllerClassName

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$defaultControllerClassName
private

The class name of the default controller

Definition at line 54 of file RequestBuilder.php.

Referenced by TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder\resolveControllerClassName().

◆ $defaultControllerName

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$defaultControllerName = ''
protected

The default controller name

Definition at line 60 of file RequestBuilder.php.

◆ $defaultFormat

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$defaultFormat = 'html'
protected

The default format of the response object

Definition at line 66 of file RequestBuilder.php.

◆ $extensionName

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$extensionName
protected

The name of the extension (in UpperCamelCase)

Definition at line 48 of file RequestBuilder.php.

◆ $extensionService

ExtensionService TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$extensionService
protected

◆ $pluginName

string TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::$pluginName = 'plugin'
protected

This is a unique key for a plugin (not the extension key!)

Definition at line 42 of file RequestBuilder.php.