SiteConfiguration implements SingletonInterface
Responsibility: Handles the format of the configuration (currently yaml), and the location of the file system folder
Reads all available site configuration options, and puts them into Site objects.
Table of Contents
Interfaces
- SingletonInterface
- "empty" interface for singletons (marker interface pattern)
Properties
- $cache : PhpFrontend
- $cacheIdentifier : string
- Identifier to store all configuration data in the core cache.
- $configFileName : string
- Config yaml file name.
- $configPath : string
- $firstLevelCache : array<string|int, mixed>|null
- Cache stores all configuration as Site objects, as long as they haven't been changed.
Methods
- __construct() : mixed
- createNewBasicSite() : void
- Creates a site configuration with one language "English" which is the de-facto default language for TYPO3 in general.
- delete() : void
- Removes the config.yaml file of a site configuration.
- getAllExistingSites() : array<string|int, Site>
- Return all site objects which have been found in the filesystem.
- load() : array<string|int, mixed>
- Load plain configuration This method should only be used in case the original configuration as it exists in the file should be loaded, for example for writing / editing configuration.
- rename() : void
- Renames a site identifier (and moves the folder)
- resolveAllExistingSites() : array<string|int, Site>
- Resolve all site objects which have been found in the filesystem.
- warmupCaches() : void
- write() : void
- Add or update a site configuration
- findModified() : array<string|int, mixed>
- findRemoved() : array<string|int, mixed>
- getAllSiteConfigurationFromFiles() : array<string|int, mixed>
- Read the site configuration from config files.
- protectPlaceholders() : array<string, mixed>
- Detects placeholders that have been introduced and handles* them.
- sortConfiguration() : array<string|int, mixed>
Properties
$cache
protected
PhpFrontend
$cache
$cacheIdentifier
Identifier to store all configuration data in the core cache.
protected
string
$cacheIdentifier
= 'sites-configuration'
$configFileName
Config yaml file name.
protected
string
$configFileName
= 'config.yaml'
$configPath
protected
string
$configPath
$firstLevelCache
Cache stores all configuration as Site objects, as long as they haven't been changed.
protected
array<string|int, mixed>|null
$firstLevelCache
This drastically improves performance as SiteFinder utilizes SiteConfiguration heavily
Methods
__construct()
public
__construct(string $configPath[, PhpFrontend|null $coreCache = null ]) : mixed
Parameters
- $configPath : string
- $coreCache : PhpFrontend|null = null
createNewBasicSite()
Creates a site configuration with one language "English" which is the de-facto default language for TYPO3 in general.
public
createNewBasicSite(string $identifier, int $rootPageId, string $base) : void
Parameters
- $identifier : string
- $rootPageId : int
- $base : string
Tags
delete()
Removes the config.yaml file of a site configuration.
public
delete(string $siteIdentifier) : void
Also clears the cache.
Parameters
- $siteIdentifier : string
Tags
getAllExistingSites()
Return all site objects which have been found in the filesystem.
public
getAllExistingSites([bool $useCache = true ]) : array<string|int, Site>
Parameters
- $useCache : bool = true
Return values
array<string|int, Site>load()
Load plain configuration This method should only be used in case the original configuration as it exists in the file should be loaded, for example for writing / editing configuration.
public
load(string $siteIdentifier) : array<string|int, mixed>
All read related actions should be performed on the site entity.
Parameters
- $siteIdentifier : string
Return values
array<string|int, mixed>rename()
Renames a site identifier (and moves the folder)
public
rename(string $currentIdentifier, string $newIdentifier) : void
Parameters
- $currentIdentifier : string
- $newIdentifier : string
Tags
resolveAllExistingSites()
Resolve all site objects which have been found in the filesystem.
public
resolveAllExistingSites([bool $useCache = true ]) : array<string|int, Site>
Parameters
- $useCache : bool = true
Return values
array<string|int, Site>warmupCaches()
public
warmupCaches(CacheWarmupEvent $event) : void
Parameters
- $event : CacheWarmupEvent
write()
Add or update a site configuration
public
write(string $siteIdentifier, array<string|int, mixed> $configuration[, bool $protectPlaceholders = false ]) : void
Parameters
- $siteIdentifier : string
- $configuration : array<string|int, mixed>
- $protectPlaceholders : bool = false
-
whether to disallow introducing new placeholders
Tags
findModified()
protected
static findModified(array<string|int, mixed> $currentConfiguration, array<string|int, mixed> $newConfiguration) : array<string|int, mixed>
Parameters
- $currentConfiguration : array<string|int, mixed>
- $newConfiguration : array<string|int, mixed>
Return values
array<string|int, mixed>findRemoved()
protected
static findRemoved(array<string|int, mixed> $currentConfiguration, array<string|int, mixed> $newConfiguration) : array<string|int, mixed>
Parameters
- $currentConfiguration : array<string|int, mixed>
- $newConfiguration : array<string|int, mixed>
Return values
array<string|int, mixed>getAllSiteConfigurationFromFiles()
Read the site configuration from config files.
protected
getAllSiteConfigurationFromFiles([bool $useCache = true ]) : array<string|int, mixed>
Parameters
- $useCache : bool = true
Tags
Return values
array<string|int, mixed>protectPlaceholders()
Detects placeholders that have been introduced and handles* them.
protected
protectPlaceholders(array<string, mixed> $existingConfiguration, array<string, mixed> $modifiedConfiguration) : array<string, mixed>
(*) currently throws an exception, but could be purged or escaped as well
Parameters
- $existingConfiguration : array<string, mixed>
- $modifiedConfiguration : array<string, mixed>
Tags
Return values
array<string, mixed> —sanitized configuration (currently not used, exception thrown before)
sortConfiguration()
protected
sortConfiguration(array<string|int, mixed> $newConfiguration) : array<string|int, mixed>
Parameters
- $newConfiguration : array<string|int, mixed>