protected function getConfigurationForPath($typoScriptPath)
{
if (isset($this->configurationOnPathRuntimeCache[$typoScriptPath])) {
return $this->configurationOnPathRuntimeCache[$typoScriptPath]['c'];
}
$pathParts = explode('/', $typoScriptPath);
$configuration = $this->typoScriptConfiguration;
$pathUntilNow = '';
$currentPrototypeDefinitions = array();
if (isset($configuration['__prototypes'])) {
$currentPrototypeDefinitions = $configuration['__prototypes'];
}
foreach ($pathParts as $pathPart) {
$pathUntilNow .= '/' . $pathPart;
if (isset($this->configurationOnPathRuntimeCache[$pathUntilNow])) {
$configuration = $this->configurationOnPathRuntimeCache[$pathUntilNow]['c'];
$currentPrototypeDefinitions = $this->configurationOnPathRuntimeCache[$pathUntilNow]['p'];
continue;
}
$configuration = $this->matchCurrentPathPart($pathPart, $configuration, $currentPrototypeDefinitions);
$this->configurationOnPathRuntimeCache[$pathUntilNow]['c'] = $configuration;
$this->configurationOnPathRuntimeCache[$pathUntilNow]['p'] = $currentPrototypeDefinitions;
}
return $configuration;
}