class InfoParser
Same name in other branches
- 9 core/lib/Drupal/Core/Extension/InfoParser.php \Drupal\Core\Extension\InfoParser
- 8.9.x core/lib/Drupal/Core/Extension/InfoParser.php \Drupal\Core\Extension\InfoParser
- 10 core/lib/Drupal/Core/Extension/InfoParser.php \Drupal\Core\Extension\InfoParser
Parses extension .info.yml files.
Hierarchy
- class \Drupal\Core\Extension\InfoParserDynamic implements \Drupal\Core\Extension\InfoParserInterface
- class \Drupal\Core\Extension\InfoParser extends \Drupal\Core\Extension\InfoParserDynamic
Expanded class hierarchy of InfoParser
3 files declare their use of InfoParser
- GenerateTheme.php in core/
lib/ Drupal/ Core/ Command/ GenerateTheme.php - InfoParserUnitTest.php in core/
tests/ Drupal/ Tests/ Core/ Extension/ InfoParserUnitTest.php - ThemeExtensionListTest.php in core/
tests/ Drupal/ Tests/ Core/ Extension/ ThemeExtensionListTest.php
File
-
core/
lib/ Drupal/ Core/ Extension/ InfoParser.php, line 12
Namespace
Drupal\Core\ExtensionView source
class InfoParser extends InfoParserDynamic {
/**
* The file cache.
*
* @var \Drupal\Component\FileCache\FileCacheInterface
*/
protected FileCacheInterface $fileCache;
/**
* InfoParser constructor.
*
* @param string $app_root
* The root directory of the Drupal installation.
*/
public function __construct(string $app_root) {
parent::__construct($app_root);
if (FileCacheFactory::getPrefix() !== NULL) {
$this->fileCache = FileCacheFactory::get('info_parser');
}
else {
// Just use a static file cache when there is no prefix. This code path is
// triggered when info is parsed prior to \Drupal\Core\DrupalKernel::boot()
// running. This occurs during the very early installer and in some test
// scenarios.
$this->fileCache = new FileCache('info_parser', 'info_parser');
}
}
/**
* {@inheritdoc}
*/
public function parse($filename) {
$data = $this->fileCache
->get($filename);
if ($data === NULL) {
$data = parent::parse($filename);
$this->fileCache
->set($filename, $data);
}
return $data;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
InfoParser::$fileCache | protected | property | The file cache. | |
InfoParser::parse | public | function | Parses Drupal module, theme and profile .info.yml files. | Overrides InfoParserDynamic::parse |
InfoParser::__construct | public | function | InfoParser constructor. | Overrides InfoParserDynamic::__construct |
InfoParserDynamic::getRequiredKeys | protected | function | Returns an array of keys required to exist in .info.yml file. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.