You are here

class MarkdownConfig in Markdown 8.2

Markdown Config.

Hierarchy

Expanded class hierarchy of MarkdownConfig

Deprecated

in markdown:8.x-2.0 and is removed from markdown:3.0.0. Use \Drupal\markdown\Form\ParserConfigurationForm instead.

See also

https://www.drupal.org/project/markdown/issues/3142418

1 file declares its use of MarkdownConfig
SettingsForm.php in src/Form/SettingsForm.php

File

src/Config/MarkdownConfig.php, line 19

Namespace

Drupal\markdown\Config
View source
class MarkdownConfig extends Config implements ContainerInjectionInterface {

  /**
   * The prefix to prepend all keys with.
   *
   * Note: this is primarily for use when the config is wrapped inside
   * higher levels of config.
   *
   * @var string
   */
  protected $keyPrefix;

  /**
   * {@inheritdoc}
   */
  public function __construct($name, StorageInterface $storage, EventDispatcherInterface $event_dispatcher, TypedConfigManagerInterface $typed_config, array $data = NULL) {
    parent::__construct($name, $storage, $event_dispatcher, $typed_config);
    if (isset($data)) {
      $this
        ->initWithData($data);
    }
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container = NULL, $name = NULL, array $data = NULL) {
    if (!$container) {
      $container = \Drupal::getContainer();
    }
    return new static($name, $container
      ->get('config.storage'), $container
      ->get('event_dispatcher'), $container
      ->get('config.typed'), $data);
  }

  /**
   * Creates a new instance using provided data or loading existing config data.
   *
   * @param string $name
   *   The config name where the data is stored.
   * @param array $data
   *   Optional. Initial data to use.
   * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
   *   Optional. The service container this instance should use.
   *
   * @return static
   */
  public static function load($name, array $data = NULL, ContainerInterface $container = NULL) {
    if (!isset($data)) {
      $data = \Drupal::config($name)
        ->getRawData();
    }
    return static::create($container, $name, $data);
  }

  /**
   * Retrieves the key prefix, if any.
   *
   * @return string|null
   *   The key prefix, if set.
   */
  public function getKeyPrefix() {
    return $this->keyPrefix;
  }

  /**
   * Prefixes a key, if a prefix is set.
   *
   * @param string $key
   *   The key to prefix.
   *
   * @return string
   *   The prefixed key.
   */
  protected function prefixKey($key) {
    if ($prefix = $this
      ->getKeyPrefix()) {
      if (($pos = strpos($key, "{$prefix}.")) === 0) {
        $key = substr($key, strlen("{$prefix}."));
      }
      $key = "{$prefix}.{$key}";
    }
    return $key;
  }

  /**
   * Prefixes keys of an associative array of data.
   *
   * @param array $data
   *   The data to iterate over.
   *
   * @return array
   *   The data with prefixed keys.
   */
  protected function prefixKeys(array $data) {
    $prefixed = [];
    foreach ($data as $key => $value) {
      $prefixed[$this
        ->prefixKey($key)] = $value;
    }
    return $prefixed;
  }

  /**
   * Sets the key prefix.
   *
   * @param string $keyPrefix
   *   The key prefix to set.
   *
   * @return static
   */
  public function setKeyPrefix($keyPrefix) {
    $this->keyPrefix = rtrim($keyPrefix, '.');
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CacheableDependencyTrait::$cacheContexts protected property Cache contexts.
CacheableDependencyTrait::$cacheMaxAge protected property Cache max-age.
CacheableDependencyTrait::$cacheTags protected property Cache tags.
CacheableDependencyTrait::setCacheability protected function Sets cacheability; useful for value object constructors.
Config::$eventDispatcher protected property An event dispatcher instance to use for configuration events.
Config::$moduleOverrides protected property The current module overrides.
Config::$overriddenData protected property The current runtime data.
Config::$settingsOverrides protected property The current settings overrides.
Config::clear public function Unsets a value in this configuration object. Overrides ConfigBase::clear 1
Config::delete public function Deletes the configuration object. Overrides StorableConfigBase::delete 1
Config::get public function Gets data from this configuration object. Overrides ConfigBase::get
Config::getOriginal public function Gets original data from this configuration object.
Config::getRawData public function Gets the raw data without overrides.
Config::hasOverrides public function Determines if overrides are applied to a key for this configuration object.
Config::initWithData public function Initializes a configuration object with pre-loaded data. Overrides StorableConfigBase::initWithData
Config::resetOverriddenData protected function Resets the current data, so overrides are re-applied.
Config::save public function Saves the configuration object. Overrides StorableConfigBase::save 1
Config::set public function Sets a value in this configuration object. Overrides ConfigBase::set 1
Config::setData public function Replaces the data of this configuration object. Overrides ConfigBase::setData
Config::setModuleOverride public function Sets module overrides for this configuration object.
Config::setOverriddenData protected function Sets the current data for this configuration object.
Config::setSettingsOverride public function Sets settings.php overrides for this configuration object.
ConfigBase::$data protected property The data of the configuration object.
ConfigBase::$name protected property The name of the configuration object.
ConfigBase::castSafeStrings protected function Casts any objects that implement MarkupInterface to string.
ConfigBase::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyTrait::getCacheContexts
ConfigBase::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyTrait::getCacheMaxAge
ConfigBase::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyTrait::getCacheTags 1
ConfigBase::getName public function Returns the name of this configuration object.
ConfigBase::MAX_NAME_LENGTH constant The maximum length of a configuration object name.
ConfigBase::merge public function Merges data into a configuration object.
ConfigBase::setName public function Sets the name of this configuration object.
ConfigBase::validateKeys protected function Validates all keys in a passed in config array structure.
ConfigBase::validateName public static function Validates the configuration object name.
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MarkdownConfig::$keyPrefix protected property The prefix to prepend all keys with.
MarkdownConfig::create public static function Instantiates a new instance of this class. Overrides ContainerInjectionInterface::create
MarkdownConfig::getKeyPrefix public function Retrieves the key prefix, if any.
MarkdownConfig::load public static function Creates a new instance using provided data or loading existing config data.
MarkdownConfig::prefixKey protected function Prefixes a key, if a prefix is set.
MarkdownConfig::prefixKeys protected function Prefixes keys of an associative array of data.
MarkdownConfig::setKeyPrefix public function Sets the key prefix.
MarkdownConfig::__construct public function Constructs a configuration object. Overrides Config::__construct
RefinableCacheableDependencyTrait::addCacheableDependency public function 1
RefinableCacheableDependencyTrait::addCacheContexts public function
RefinableCacheableDependencyTrait::addCacheTags public function
RefinableCacheableDependencyTrait::mergeCacheMaxAge public function
StorableConfigBase::$isNew protected property Whether the configuration object is new or has been saved to the storage.
StorableConfigBase::$originalData protected property The data of the configuration object.
StorableConfigBase::$schemaWrapper protected property The config schema wrapper object for this configuration object.
StorableConfigBase::$storage protected property The storage used to load and save this configuration object.
StorableConfigBase::$typedConfigManager protected property The typed config manager.
StorableConfigBase::castValue protected function Casts the value to correct data type using the configuration schema.
StorableConfigBase::getSchemaWrapper protected function Gets the schema wrapper for the whole configuration object.
StorableConfigBase::getStorage public function Retrieves the storage used to load and save this configuration object.
StorableConfigBase::isNew public function Returns whether this configuration object is new.
StorableConfigBase::validateValue protected function Validate the values are allowed data types.