function StreamWrapperClassesPass::process

File

core/lib/Drupal/Core/DependencyInjection/Compiler/StreamWrapperClassesPass.php, line 23

Class

StreamWrapperClassesPass
Collects the classes of services tagged 'stream_wrapper'.

Namespace

Drupal\Core\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) : void {
  if (!$container->hasDefinition('stream_wrapper_manager')) {
    return;
  }
  $wrapper_classes = [];
  foreach ($container->findTaggedServiceIds('stream_wrapper') as $id => $tags) {
    $class = $container->getDefinition($id)
      ->getClass();
    foreach ($tags as $attributes) {
      $wrapper_classes[$attributes['scheme']] = $class;
    }
  }
  $container->getDefinition('stream_wrapper_manager')
    ->setArgument('$wrapperClasses', $wrapper_classes);
}

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