PageTsConfigParser
A TS-Config parsing class which performs condition evaluation.
This class does parsing of a compiled TSconfig string, and applies matching() based on the Context (FE or BE) in it, allowing to be fully agnostic to the outside world.
Table of Contents
Properties
Methods
- __construct() : mixed
- parse() : array<string|int, mixed>
- Parses and matches a given string Adds entries to the cache: - when an exact on the conditions are there - when a parse is there, then matches are happening anyway, and it is checked if this can be cached as well.
- matching() : array<string|int, mixed>
- Is just going through an array of conditions to determine which are matching (for getting correct cache entry)
- parseAndMatch() : array<string|int, mixed>
- Does the actual parsing using the TypoScriptParser "parse" method by applying a condition matcher.
Properties
$cache
protected
FrontendInterface
$cache
$typoScriptParser
protected
TypoScriptParser
$typoScriptParser
Methods
__construct()
public
__construct(TypoScriptParser $typoScriptParser, FrontendInterface $cache) : mixed
Parameters
- $typoScriptParser : TypoScriptParser
- $cache : FrontendInterface
parse()
Parses and matches a given string Adds entries to the cache: - when an exact on the conditions are there - when a parse is there, then matches are happening anyway, and it is checked if this can be cached as well.
public
parse(string $content, ConditionMatcherInterface $matcher[, Site|null $site = null ]) : array<string|int, mixed>
If a site is provided the settings stored in the site's configuration is available as constants for the TSconfig.
Parameters
- $content : string
-
pageTSconfig, usually accumulated by the PageTsConfigLoader
- $matcher : ConditionMatcherInterface
-
an instance to match strings
- $site : Site|null = null
-
The current site the page TSconfig is parsed for
Return values
array<string|int, mixed> —the
matching()
Is just going through an array of conditions to determine which are matching (for getting correct cache entry)
protected
matching(array<string|int, mixed> $sectionsToMatch, ConditionMatcherInterface $matcher) : array<string|int, mixed>
Parameters
- $sectionsToMatch : array<string|int, mixed>
-
An array containing the sections to match
- $matcher : ConditionMatcherInterface
Return values
array<string|int, mixed> —The input array with matching sections to be filled into the "match" key
parseAndMatch()
Does the actual parsing using the TypoScriptParser "parse" method by applying a condition matcher.
protected
parseAndMatch(string $content, ConditionMatcherInterface $matcher) : array<string|int, mixed>
Parameters
- $content : string
-
The TSConfig being parsed
- $matcher : ConditionMatcherInterface
Return values
array<string|int, mixed> —Array containing the parsed TSConfig, the encountered sections, the matched sections. This is stored in cache.