Bug #56317
Epic #55070: Workpackages
Epic #55065: WP: Overall System Performance (Backend and Frontend)
Bug #52949: Speed decrease since 4.5
Bug #56307: Findings from Bootstrap/PackageManager/ClassLoader analyses
Cache Local and Default Configuration to prevent duplicate File Access
| Status: | New | Start date: | 2014-02-26 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assigned To: | - | % Done: | 0% | |
| Category: | - | Spent time: | - | |
| Target version: | - | |||
| TYPO3 Version: | 6.2 | Is Regression: | No | |
| PHP Version: | Sprint Focus: | |||
| Complexity: | 
Description
See configurationManager
/**
 * @var array
     */
    protected static $defaultConfiguration = NULL;/**
 * @var array
     */
    protected static $localConfiguration = NULL;/**
 * @var string Absolute path to typo3conf directory
     */
    protected $pathTypo3Conf = PATH_typo3conf;/**
 * Writing to these configuration pathes is always allowed,
 * even if the requested sub path does not exist yet.
 *
 * @var array
     */
    protected $whiteListedLocalConfigurationPaths = array(
        'EXT/extConf',
        'EXTCONF',
        'INSTALL/wizardDone',
        'DB',
        'SYS/caching/cacheConfigurations',
    );/**
 * Return default configuration array
 *
 * @return array
     */
    public function getDefaultConfiguration() {
        if (static::$defaultConfiguration === NULL) {
            static::$defaultConfiguration = require_once $this->getDefaultConfigurationFileLocation();
        }
        return static::$defaultConfiguration;
    }/**
 * Get the file location of the default configuration file,
 * currently the path and filename.
 *
 * @return string
 * @access private
     */
    public function getDefaultConfigurationFileLocation() {
        return PATH_site . $this->defaultConfigurationFile;
    }/**
 * Return local configuration array typo3conf/LocalConfiguration.php
 *
 * @return array Content array of local configuration file
     */
    public function getLocalConfiguration() {
        if (static::$localConfiguration === NULL) {
            static::$localConfiguration = require_once $this->getLocalConfigurationFileLocation();
        }
        return static::$localConfiguration;
    }