class ProviderRepository

Same name in this branch
  1. 9 core/modules/media/src/OEmbed/ProviderRepository.php \Drupal\media\OEmbed\ProviderRepository
Same name and namespace in other branches
  1. 10 core/modules/media/src/OEmbed/ProviderRepository.php \Drupal\media\OEmbed\ProviderRepository
  2. 10 core/modules/media/tests/modules/media_test_oembed/src/ProviderRepository.php \Drupal\media_test_oembed\ProviderRepository
  3. 11.x core/modules/media/src/OEmbed/ProviderRepository.php \Drupal\media\OEmbed\ProviderRepository
  4. 11.x core/modules/media/tests/modules/media_test_oembed/src/ProviderRepository.php \Drupal\media_test_oembed\ProviderRepository
  5. 8.9.x core/modules/media/src/OEmbed/ProviderRepository.php \Drupal\media\OEmbed\ProviderRepository
  6. 8.9.x core/modules/media/tests/modules/media_test_oembed/src/ProviderRepository.php \Drupal\media_test_oembed\ProviderRepository

Overrides the oEmbed provider repository service for testing purposes.

This service does not use caching at all, and will always try to retrieve provider data from state before calling the parent methods.

Hierarchy

Expanded class hierarchy of ProviderRepository

File

core/modules/media/tests/modules/media_test_oembed/src/ProviderRepository.php, line 14

Namespace

Drupal\media_test_oembed
View source
class ProviderRepository extends BaseProviderRepository {
  
  /**
   * {@inheritdoc}
   */
  public function getAll() {
    return \Drupal::state()->get(static::class) ?: parent::getAll();
  }
  
  /**
   * {@inheritdoc}
   */
  public function get($provider_name) {
    $providers = \Drupal::state()->get(static::class, []);
    if (isset($providers[$provider_name])) {
      return $providers[$provider_name];
    }
    return parent::get($provider_name);
  }
  
  /**
   * Stores an oEmbed provider value object in state.
   *
   * @param \Drupal\media\OEmbed\Provider $provider
   *   The provider to store.
   */
  public function setProvider(Provider $provider) {
    $providers = \Drupal::state()->get(static::class, []);
    $name = $provider->getName();
    $providers[$name] = $provider;
    \Drupal::state()->set(static::class, $providers);
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.