/**
  * Create concatenated ext_tables.php cache file
  *
  * @return void
  */
 protected static function createExtTablesCacheEntry()
 {
     $extensionInformation = $GLOBALS['TYPO3_LOADED_EXT'];
     $phpCodeToCache = array();
     // Set same globals as in loadSingleExtTablesFiles()
     $phpCodeToCache[] = '/**';
     $phpCodeToCache[] = ' * Compiled ext_tables.php cache file';
     $phpCodeToCache[] = ' */';
     $phpCodeToCache[] = '';
     $phpCodeToCache[] = 'global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;';
     $phpCodeToCache[] = 'global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;';
     $phpCodeToCache[] = 'global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;';
     $phpCodeToCache[] = 'global $_EXTKEY;';
     $phpCodeToCache[] = '';
     // Iterate through loaded extensions and add ext_tables content
     foreach ($extensionInformation as $extensionKey => $extensionDetails) {
         if (isset($extensionDetails['ext_tables.php']) && $extensionDetails['ext_tables.php']) {
             // Include a header per extension to make the cache file more readable
             $phpCodeToCache[] = '/**';
             $phpCodeToCache[] = ' * Extension: ' . $extensionKey;
             $phpCodeToCache[] = ' * File: ' . $extensionDetails['ext_tables.php'];
             $phpCodeToCache[] = ' */';
             $phpCodeToCache[] = '';
             // Set $_EXTKEY and $_EXTCONF for this extension
             $phpCodeToCache[] = '$_EXTKEY = \'' . $extensionKey . '\';';
             $phpCodeToCache[] = '$_EXTCONF = $GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'extConf\'][$_EXTKEY];';
             $phpCodeToCache[] = '';
             // Add ext_tables.php content of extension
             $phpCodeToCache[] = trim(GeneralUtility::getUrl($extensionDetails['ext_tables.php']));
             $phpCodeToCache[] = '';
             $phpCodeToCache[] = '\\TYPO3\\CMS\\Core\\Utility\\ExtensionManagementUtility::loadNewTcaColumnsConfigFiles();';
             $phpCodeToCache[] = '';
         }
     }
     $phpCodeToCache = implode(LF, $phpCodeToCache);
     // Remove all start and ending php tags from content
     $phpCodeToCache = preg_replace('/<\\?php|\\?>/is', '', $phpCodeToCache);
     self::getCacheManager()->getCache('cache_core')->set(self::getExtTablesCacheIdentifier(), $phpCodeToCache);
 }