‪TYPO3CMS  10.4
TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard Class Reference

Public Member Functions

 process (array $modified)
 

Public Attributes

 $fragmentPattern
 
$this fragmentSplitter
 
elseif(is_string($value)) return $modified
 

Protected Member Functions

array< string, protectPlaceholders(array $current, array $modified, array $steps=[]):array { foreach( $modified as $key=> $value) { $currentSteps=array_merge( $steps,[ $key]);if(is_array( $value)) { $modified[ $key]=$this-> protectPlaceholders ( $current[$key] ??[], $value, $currentSteps)
 

Protected Attributes

array< string, $existingConfiguration;protected StringFragmentSplitter $fragmentSplitter;public function __construct(array $existingConfiguration) { $this-> existingConfiguration = $existingConfiguration
 

Detailed Description

A guard for protecting YAML placeholders - keeps existing, but escalates on adding new placeholders

Definition at line 26 of file YamlPlaceholderGuard.php.

Member Function Documentation

◆ process()

TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard::process ( array  $modified)

◆ protectPlaceholders()

array<string, protectPlaceholders(array $current, array $modified, array $steps = []): array { foreach ($modified as $key => $value) { $currentSteps = array_merge($steps, [$key]); if (is_array($value)) { $modified[$key] = $this-> TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard::protectPlaceholders (   $current ??[ $key][],
  $value,
  $currentSteps 
)
protected

Detects placeholders that have been introduced and handles* them. (*) currently throws an exception, but could be purged or escaped as well

Parameters
array<string,mixed>‪$current
array<string,mixed>‪$modified
list<string>‪$steps configuration keys traversed so far
Returns
‪array<string, mixed> sanitized configuration (currently not used, exception thrown before)
Exceptions
YamlPlaceholderException

Referenced by TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard\process().

Member Data Documentation

◆ $fragmentPattern

TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard::$fragmentPattern
Initial value:
= GeneralUtility::makeInstance(
StringFragmentPattern::class,
)

Definition at line 39 of file YamlPlaceholderGuard.php.

◆ $modified

elseif (is_string( $value)) return TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard::$modified

Definition at line 107 of file YamlPlaceholderGuard.php.

◆ existingConfiguration

array<string, $existingConfiguration; protected StringFragmentSplitter $fragmentSplitter; public function __construct(array $existingConfiguration) { $this-> TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard::existingConfiguration = $existingConfiguration
protected

◆ fragmentSplitter

$this TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard::fragmentSplitter
Initial value:
= GeneralUtility::makeInstance(
StringFragmentSplitter::class,
)

Definition at line 44 of file YamlPlaceholderGuard.php.

‪TYPO3\CMS\Core\Configuration\Loader\YamlPlaceholderGuard\$fragmentPattern
‪$fragmentPattern
Definition: YamlPlaceholderGuard.php:39
‪TYPO3\CMS\Core\Configuration\Loader\YamlFileLoader\PATTERN_PARTS
‪const PATTERN_PARTS
Definition: YamlFileLoader.php:51
‪TYPO3\CMS\Core\Utility\String\StringFragmentSplitter\TYPE_EXPRESSION
‪const TYPE_EXPRESSION
Definition: StringFragmentSplitter.php:36