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 |