class Yaml in Drupal 8
Same name in this branch
- 8 core/lib/Drupal/Core/Serialization/Yaml.php \Drupal\Core\Serialization\Yaml
- 8 core/lib/Drupal/Component/Serialization/Yaml.php \Drupal\Component\Serialization\Yaml
Same name and namespace in other branches
- 9 core/lib/Drupal/Component/Serialization/Yaml.php \Drupal\Component\Serialization\Yaml
- 10 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 SerializationInterface
Expanded class hierarchy of Yaml
11 files declare their use of Yaml
- DistributionProfileExistingSettingsTest.php in core/
tests/ Drupal/ FunctionalTests/ Installer/ DistributionProfileExistingSettingsTest.php - drupal-8.file_formatters_update_2677990.php in core/
modules/ file/ tests/ fixtures/ update/ drupal-8.file_formatters_update_2677990.php - Contains database additions to drupal-8.bare.standard.php.gz for testing the upgrade path of https://www.drupal.org/node/2677990.
- drupal-8.update-test-block-disabled-2513534.php in core/
modules/ system/ tests/ fixtures/ update/ drupal-8.update-test-block-disabled-2513534.php - Contains database additions to drupal-8.bare.standard.php.gz for testing the upgrade path of https://www.drupal.org/node/2513534.
- ExtensionListTest.php in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - InstallerExistingConfigTestBase.php in core/
tests/ Drupal/ FunctionalTests/ Installer/ InstallerExistingConfigTestBase.php
1 string reference to 'Yaml'
- core.services.yml in core/
core.services.yml - core/core.services.yml
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
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Yaml:: |
protected static | property | The YAML implementation to use. | |
Yaml:: |
public static | function |
Decodes data from the serialization format. Overrides SerializationInterface:: |
|
Yaml:: |
public static | function |
Encodes data into the serialization format. Overrides SerializationInterface:: |
|
Yaml:: |
public static | function |
Gets the file extension for this serialization format. Overrides SerializationInterface:: |
|
Yaml:: |
protected static | function | Determines which implementation to use for parsing YAML. | 2 |