Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

ConfigSchemaDiscovery.php

Namespace

Drupal\Core\Config\Schema

File

core/lib/Drupal/Core/Config/Schema/ConfigSchemaDiscovery.php

View source
<?php

namespace Drupal\Core\Config\Schema;

use Drupal\Component\Plugin\Discovery\DiscoveryInterface;
use Drupal\Component\Plugin\Discovery\DiscoveryTrait;
use Drupal\Core\Config\StorageInterface;

/**
 * Allows YAML files to define config schema types.
 */
class ConfigSchemaDiscovery implements DiscoveryInterface {
    use DiscoveryTrait;
    
    /**
     * A storage instance for reading configuration schema data.
     *
     * @var \Drupal\Core\Config\StorageInterface
     */
    protected $schemaStorage;
    
    /**
     * Constructs a ConfigSchemaDiscovery object.
     *
     * @param $schema_storage
     *   The storage object to use for reading schema data.
     */
    public function __construct(StorageInterface $schema_storage) {
        $this->schemaStorage = $schema_storage;
    }
    
    /**
     * {@inheritdoc}
     */
    public function getDefinitions() {
        $definitions = [];
        foreach ($this->schemaStorage
            ->readMultiple($this->schemaStorage
            ->listAll()) as $schema) {
            foreach ($schema as $type => $definition) {
                $definitions[$type] = $definition;
            }
        }
        return $definitions;
    }

}

Classes

Title Deprecated Summary
ConfigSchemaDiscovery Allows YAML files to define config schema types.
RSS feed
Powered by Drupal