class Yaml
Same name in this branch
- 9 core/lib/Drupal/Core/Serialization/Yaml.php \Drupal\Core\Serialization\Yaml
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Serialization/Yaml.php \Drupal\Core\Serialization\Yaml
- 8.9.x core/lib/Drupal/Component/Serialization/Yaml.php \Drupal\Component\Serialization\Yaml
- 10 core/lib/Drupal/Component/Serialization/Yaml.php \Drupal\Component\Serialization\Yaml
- 11.x core/lib/Drupal/Component/Serialization/Yaml.php \Drupal\Component\Serialization\Yaml
Provides a YAML serialization implementation.
Proxy implementation that will choose the best library based on availability.
Hierarchy
- class \Drupal\Component\Serialization\Yaml implements \Drupal\Component\Serialization\SerializationInterface
Expanded class hierarchy of Yaml
15 files declare their use of Yaml
- DependencyTest.php in core/
modules/ system/ tests/ src/ Functional/ Module/ DependencyTest.php - DistributionProfileExistingSettingsTest.php in core/
tests/ Drupal/ FunctionalTests/ Installer/ DistributionProfileExistingSettingsTest.php - ExtensionListTest.php in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - FrontMatterTest.php in core/
tests/ Drupal/ Tests/ Component/ FrontMatter/ FrontMatterTest.php - GenerateTheme.php in core/
lib/ Drupal/ Core/ Command/ GenerateTheme.php
3 string references to 'Yaml'
- ConfigSingleImportExportTest::testImport in core/
modules/ config/ tests/ src/ Functional/ ConfigSingleImportExportTest.php - Tests importing a single configuration file.
- core.services.yml in core/
core.services.yml - core/core.services.yml
- Yaml::getSerializer in core/
lib/ Drupal/ Component/ Serialization/ Yaml.php - Determines which implementation to use for parsing YAML.
1 service uses Yaml
File
-
core/
lib/ Drupal/ Component/ Serialization/ Yaml.php, line 10
Namespace
Drupal\Component\SerializationView source
class Yaml implements SerializationInterface {
/**
* The YAML implementation to use.
*
* @var \Drupal\Component\Serialization\SerializationInterface
*/
protected static $serializer;
/**
* {@inheritdoc}
*/
public static function encode($data) {
// Instead of using \Drupal\Component\Serialization\Yaml::getSerializer(),
// always using Symfony for writing the data, to reduce the risk of having
// differences if different environments (like production and development)
// do not match in terms of what YAML implementation is available.
return YamlSymfony::encode($data);
}
/**
* {@inheritdoc}
*/
public static function decode($raw) {
$serializer = static::getSerializer();
return $serializer::decode($raw);
}
/**
* {@inheritdoc}
*/
public static function getFileExtension() {
return 'yml';
}
/**
* Determines which implementation to use for parsing YAML.
*/
protected static function getSerializer() {
if (!isset(static::$serializer)) {
// Use the PECL YAML extension if it is available. It has better
// performance for file reads and is YAML compliant.
if (extension_loaded('yaml')) {
static::$serializer = YamlPecl::class;
}
else {
// Otherwise, fallback to the Symfony implementation.
static::$serializer = YamlSymfony::class;
}
}
return static::$serializer;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
Yaml::$serializer | protected static | property | The YAML implementation to use. | ||
Yaml::decode | public static | function | Decodes data from the serialization format. | Overrides SerializationInterface::decode | |
Yaml::encode | public static | function | Encodes data into the serialization format. | Overrides SerializationInterface::encode | |
Yaml::getFileExtension | public static | function | Gets the file extension for this serialization format. | Overrides SerializationInterface::getFileExtension | |
Yaml::getSerializer | protected static | function | Determines which implementation to use for parsing YAML. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.