UpdateServiceProvider.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace Drupal\Core\Update;
  3. use Drupal\Core\DependencyInjection\ContainerBuilder;
  4. use Drupal\Core\DependencyInjection\ServiceModifierInterface;
  5. use Drupal\Core\DependencyInjection\ServiceProviderInterface;
  6. use Symfony\Component\DependencyInjection\Definition;
  7. use Symfony\Component\DependencyInjection\Reference;
  8. /**
  9. * Ensures for some services that they don't cache.
  10. */
  11. class UpdateServiceProvider implements ServiceProviderInterface, ServiceModifierInterface {
  12. /**
  13. * {@inheritdoc}
  14. */
  15. public function register(ContainerBuilder $container) {
  16. $definition = new Definition('Drupal\Core\Cache\NullBackend', ['null']);
  17. $container->setDefinition('cache.null', $definition);
  18. }
  19. /**
  20. * {@inheritdoc}
  21. */
  22. public function alter(ContainerBuilder $container) {
  23. $definition = $container->getDefinition('asset.resolver');
  24. $argument = new Reference('cache.null');
  25. $definition->replaceArgument(5, $argument);
  26. $definition = $container->getDefinition('library.discovery.collector');
  27. $argument = new Reference('cache.null');
  28. $definition->replaceArgument(0, $argument);
  29. }
  30. }