function PhpStorageFactory::get
Same name in other branches
- 9 core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php \Drupal\Core\PhpStorage\PhpStorageFactory::get()
- 8.9.x core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php \Drupal\Core\PhpStorage\PhpStorageFactory::get()
- 11.x core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php \Drupal\Core\PhpStorage\PhpStorageFactory::get()
Instantiates a storage for generated PHP code.
By default, this returns an instance of the \Drupal\Component\PhpStorage\MTimeProtectedFileStorage class.
Classes implementing \Drupal\Component\PhpStorage\PhpStorageInterface can be registered for a specific bin or as a default implementation.
Parameters
string $name: The name for which the storage should be returned. Defaults to 'default' The name is also used as the storage bin if one is not specified in the configuration.
Return value
\Drupal\Component\PhpStorage\PhpStorageInterface An instantiated storage for the specified name.
5 calls to PhpStorageFactory::get()
- PhpBackend::storage in core/
lib/ Drupal/ Core/ Cache/ PhpBackend.php - Gets the PHP code storage object to use.
- PhpStorageFactoryTest::testGetDefault in core/
modules/ system/ tests/ src/ Kernel/ PhpStorage/ PhpStorageFactoryTest.php - Tests the get() method using the 'default' settings.
- PhpStorageFactoryTest::testGetNoSettings in core/
modules/ system/ tests/ src/ Kernel/ PhpStorage/ PhpStorageFactoryTest.php - Tests the get() method with no settings.
- PhpStorageFactoryTest::testGetOverride in core/
modules/ system/ tests/ src/ Kernel/ PhpStorage/ PhpStorageFactoryTest.php - Tests the get() method with overridden settings.
- TwigPhpStorageCache::storage in core/
lib/ Drupal/ Core/ Template/ TwigPhpStorageCache.php - Gets the PHP code storage object to use for the compiled Twig files.
File
-
core/
lib/ Drupal/ Core/ PhpStorage/ PhpStorageFactory.php, line 31
Class
- PhpStorageFactory
- Creates a php storage object.
Namespace
Drupal\Core\PhpStorageCode
public static function get($name) {
$configuration = [];
$overrides = Settings::get('php_storage');
if (isset($overrides[$name])) {
$configuration = $overrides[$name];
}
elseif (isset($overrides['default'])) {
$configuration = $overrides['default'];
}
// Make sure all the necessary configuration values are set.
$class = $configuration['class'] ?? 'Drupal\\Component\\PhpStorage\\MTimeProtectedFileStorage';
if (!isset($configuration['secret'])) {
$configuration['secret'] = Settings::getHashSalt();
}
if (!isset($configuration['bin'])) {
$configuration['bin'] = $name;
}
if (!isset($configuration['directory'])) {
$configuration['directory'] = PublicStream::basePath() . '/php';
}
return new $class($configuration);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.