‪TYPO3CMS  9.5
TYPO3\CMS\Core\Configuration\SiteConfiguration Class Reference
Inheritance diagram for TYPO3\CMS\Core\Configuration\SiteConfiguration:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 __construct (string $configPath)
 
Site[] getAllExistingSites (bool $useCache=true)
 
Site[] resolveAllExistingSites ()
 
array load (string $siteIdentifier)
 
 write (string $siteIdentifier, array $configuration)
 
 rename (string $currentIdentifier, string $newIdentifier)
 
 delete (string $siteIdentifier)
 

Protected Member Functions

array getAllSiteConfigurationFromFiles ()
 
FrontendInterface getCache ()
 
array sortConfiguration (array $newConfiguration)
 

Static Protected Member Functions

static findModified (array $currentConfiguration, array $newConfiguration)
 
static findRemoved (array $currentConfiguration, array $newConfiguration)
 

Protected Attributes

string $configPath
 
string $configFileName = 'config.yaml'
 
string $cacheIdentifier = 'site-configuration'
 
array null $firstLevelCache
 

Detailed Description

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.

Definition at line 37 of file SiteConfiguration.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Configuration\SiteConfiguration::__construct ( string  $configPath)
Parameters
string$configPath

Definition at line 67 of file SiteConfiguration.php.

References TYPO3\CMS\Core\Configuration\SiteConfiguration\$configPath.

Member Function Documentation

◆ delete()

TYPO3\CMS\Core\Configuration\SiteConfiguration::delete ( string  $siteIdentifier)

Removes the config.yaml file of a site configuration. Also clears the cache.

Parameters
string$siteIdentifier
Exceptions
SiteNotFoundException

Definition at line 225 of file SiteConfiguration.php.

References TYPO3\CMS\Core\Configuration\SiteConfiguration\$configFileName, TYPO3\CMS\Core\Configuration\SiteConfiguration\getAllExistingSites(), TYPO3\CMS\Core\Configuration\SiteConfiguration\getCache(), and TYPO3\CMS\Core\Cache\Frontend\FrontendInterface\remove().

◆ findModified()

static TYPO3\CMS\Core\Configuration\SiteConfiguration::findModified ( array  $currentConfiguration,
array  $newConfiguration 
)
staticprotected

Definition at line 267 of file SiteConfiguration.php.

◆ findRemoved()

static TYPO3\CMS\Core\Configuration\SiteConfiguration::findRemoved ( array  $currentConfiguration,
array  $newConfiguration 
)
staticprotected

Definition at line 287 of file SiteConfiguration.php.

◆ getAllExistingSites()

Site [] TYPO3\CMS\Core\Configuration\SiteConfiguration::getAllExistingSites ( bool  $useCache = true)

Return all site objects which have been found in the filesystem.

Parameters
bool$useCache
Returns
Site[]

Definition at line 78 of file SiteConfiguration.php.

References TYPO3\CMS\Core\Configuration\SiteConfiguration\$firstLevelCache, and TYPO3\CMS\Core\Configuration\SiteConfiguration\resolveAllExistingSites().

Referenced by TYPO3\CMS\Core\Configuration\SiteConfiguration\delete().

◆ getAllSiteConfigurationFromFiles()

array TYPO3\CMS\Core\Configuration\SiteConfiguration::getAllSiteConfigurationFromFiles ( )
protected

Read the site configuration from config files.

Returns
‪array
Exceptions

Definition at line 111 of file SiteConfiguration.php.

References $finder, TYPO3\CMS\Core\Configuration\SiteConfiguration\getCache(), and TYPO3\CMS\Core\Cache\Frontend\FrontendInterface\set().

Referenced by TYPO3\CMS\Core\Configuration\SiteConfiguration\resolveAllExistingSites().

◆ getCache()

FrontendInterface TYPO3\CMS\Core\Configuration\SiteConfiguration::getCache ( )
protected

◆ load()

array TYPO3\CMS\Core\Configuration\SiteConfiguration::load ( string  $siteIdentifier)

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.

All read related actions should be performed on the site entity.

Parameters
string$siteIdentifier
Returns
‪array

Definition at line 158 of file SiteConfiguration.php.

References TYPO3\CMS\Core\Configuration\SiteConfiguration\$configFileName, and TYPO3\CMS\Core\Configuration\Loader\YamlFileLoader\PROCESS_IMPORTS.

◆ rename()

TYPO3\CMS\Core\Configuration\SiteConfiguration::rename ( string  $currentIdentifier,
string  $newIdentifier 
)

Renames a site identifier (and moves the folder)

Parameters
string$currentIdentifier
string$newIdentifier
Exceptions

Definition at line 208 of file SiteConfiguration.php.

References TYPO3\CMS\Core\Configuration\SiteConfiguration\getCache(), and TYPO3\CMS\Core\Cache\Frontend\FrontendInterface\remove().

◆ resolveAllExistingSites()

Site [] TYPO3\CMS\Core\Configuration\SiteConfiguration::resolveAllExistingSites ( )

Resolve all site objects which have been found in the filesystem.

Returns
Site[]

Definition at line 91 of file SiteConfiguration.php.

References TYPO3\CMS\Core\Configuration\SiteConfiguration\getAllSiteConfigurationFromFiles().

Referenced by TYPO3\CMS\Core\Configuration\SiteConfiguration\getAllExistingSites().

◆ sortConfiguration()

array TYPO3\CMS\Core\Configuration\SiteConfiguration::sortConfiguration ( array  $newConfiguration)
protected
Parameters
array$newConfiguration
Returns
‪array

Definition at line 256 of file SiteConfiguration.php.

Referenced by TYPO3\CMS\Core\Configuration\SiteConfiguration\write().

◆ write()

TYPO3\CMS\Core\Configuration\SiteConfiguration::write ( string  $siteIdentifier,
array  $configuration 
)

Member Data Documentation

◆ $cacheIdentifier

string TYPO3\CMS\Core\Configuration\SiteConfiguration::$cacheIdentifier = 'site-configuration'
protected

Identifier to store all configuration data in cache_core cache.

Definition at line 55 of file SiteConfiguration.php.

◆ $configFileName

string TYPO3\CMS\Core\Configuration\SiteConfiguration::$configFileName = 'config.yaml'
protected

◆ $configPath

string TYPO3\CMS\Core\Configuration\SiteConfiguration::$configPath
protected

◆ $firstLevelCache

array null TYPO3\CMS\Core\Configuration\SiteConfiguration::$firstLevelCache
protected

Cache stores all configuration as Site objects, as long as they haven't been changed. This drastically improves performance as SiteFinder utilizes SiteConfiguration heavily

Definition at line 62 of file SiteConfiguration.php.

Referenced by TYPO3\CMS\Core\Configuration\SiteConfiguration\getAllExistingSites().