ILIAS
trunk Revision v11.0_alpha-2638-g80c1d007f79
◀ ilDoc Overview
SubstitutionResultResolver.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result
;
22
23
use
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Substitution\FieldSubstitution
;
24
use
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Token\Token
;
25
use
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Token\Tokenizer
;
26
use
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\Result\Result
;
27
use
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\Result\StringResult
;
28
29
class
SubstitutionResultResolver
implements
ResultResolver
30
{
31
private \ilLanguage
$lng
;
32
33
public
function
__construct
(
34
private
FieldSubstitution
$substitution,
35
) {
36
global
$DIC
;
37
$this->
lng
= $DIC->language();
38
}
39
40
public
function
resolve
(
Token
$token
):
Result
41
{
42
// Token is a string, either a field placeholder [[Field name]] or a string starting with "
43
$token_value = $token->
getValue
();
44
if
(str_starts_with($token_value,
'"'
)) {
// this is a "simple" string
45
return
new
StringResult
(strip_tags(trim($token_value,
'"'
)));
46
}
47
48
if
(str_starts_with($token_value,
Tokenizer::FIELD_OPENER
)) {
// this is a field placeholder
49
return
new
StringResult
(trim(strip_tags($this->substitution->substituteFieldValue($token_value))));
50
}
51
52
throw
new \ilException(
"Unrecognized string token: '$token_value'"
);
53
}
54
}
FieldSubstitution
ILIAS\MetaData\Paths\Token
Token
The string representation of these tokens must not occur in the names of metadata elements...
Definition:
Token.php:27
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\Result\StringResult
Definition:
StringResult.php:23
Tokenizer
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Token\Token
Definition:
Token.php:23
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\SubstitutionResultResolver\$lng
ilLanguage $lng
Definition:
SubstitutionResultResolver.php:31
StringResult
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\SubstitutionResultResolver\__construct
__construct(private FieldSubstitution $substitution,)
Definition:
SubstitutionResultResolver.php:33
$token
$token
Definition:
xapitoken.php:70
ILIAS\Repository\lng
lng()
Definition:
trait.GlobalDICDomainServices.php:61
$DIC
global $DIC
Definition:
shib_login.php:26
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\SubstitutionResultResolver\resolve
resolve(Token $token)
Definition:
SubstitutionResultResolver.php:40
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\SubstitutionResultResolver
Definition:
SubstitutionResultResolver.php:29
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Result\ResultResolver
Definition:
ResultResolver.php:26
Result
WrapperInterface
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Substitution\FieldSubstitution
Definition:
FieldSubstitution.php:26
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Token\Token\getValue
getValue()
Definition:
Token.php:29
ILIAS\components\DataCollection\Fields\Formula\FormulaParser\Token\Tokenizer\FIELD_OPENER
const FIELD_OPENER
Definition:
Tokenizer.php:43
components
ILIAS
DataCollection
classes
Fields
Formula
FormulaParser
Result
SubstitutionResultResolver.php
Generated on Sun Aug 31 2025 23:02:48 for ILIAS by
1.8.13 (using
Doxyfile
)