‪TYPO3CMS  ‪main
VariableItem.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
21 {
23 
25  private array ‪$value;
26 
31 
32  public static function ‪create(string $key, ‪$value): self
33  {
34  return new static(
35  ‪VariableValue::create(sprintf('[[%s]]', $key)),
36  ‪$value
37  );
38  }
39 
41  {
42  $this->variableKey = ‪$variableKey;
43  $this->value = ‪$value;
44  }
45 
46  public function ‪isArray(): bool
47  {
48  return is_array($this->value);
49  }
50 
51  public function ‪apply(‪Variables $variables): array
52  {
53  if (!$this->‪hasAllRequiredDefinedVariableNames($variables)) {
54  return [];
55  }
56  return [$this->‪key($variables) => ‪$this->value];
57  }
58 
59  public function ‪key(‪Variables $variables): ?string
60  {
61  if (!$this->‪hasAllRequiredDefinedVariableNames($variables)) {
62  return null;
63  }
64  return $this->variableKey->apply($variables);
65  }
66 }
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\create
‪static create(string $key, $value)
Definition: VariableItem.php:31
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\apply
‪apply(Variables $variables)
Definition: VariableItem.php:50
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\$variableKey
‪VariableValue $variableKey
Definition: VariableItem.php:23
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables
Definition: Variables.php:21
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariablesTrait
Definition: VariablesTrait.php:21
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\$requiredDefinedVariableNames
‪array $requiredDefinedVariableNames
Definition: VariableItem.php:29
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue\create
‪static create(string $value, Variables $defaultVariables=null)
Definition: VariableValue.php:37
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\__construct
‪__construct(VariableValue $variableKey, $value)
Definition: VariableItem.php:39
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\$value
‪array $value
Definition: VariableItem.php:24
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\key
‪key(Variables $variables)
Definition: VariableItem.php:58
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder
Definition: Applicable.php:18
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem
Definition: VariableItem.php:21
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem\isArray
‪isArray()
Definition: VariableItem.php:45
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue
Definition: VariableValue.php:21
‪TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariablesTrait\hasAllRequiredDefinedVariableNames
‪hasAllRequiredDefinedVariableNames(Variables $variables)
Definition: VariablesTrait.php:29