class ListCacheBinsPass
Adds cache_bins parameter to the container.
Hierarchy
- class \Drupal\Core\Cache\ListCacheBinsPass implements \Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface
Expanded class hierarchy of ListCacheBinsPass
1 file declares its use of ListCacheBinsPass
- CoreServiceProvider.php in core/lib/ Drupal/ Core/ CoreServiceProvider.php 
File
- 
              core/lib/ Drupal/ Core/ Cache/ ListCacheBinsPass.php, line 11 
Namespace
Drupal\Core\CacheView source
class ListCacheBinsPass implements CompilerPassInterface {
  
  /**
   * Implements CompilerPassInterface::process().
   *
   * Collects the cache bins into the cache_bins parameter.
   */
  public function process(ContainerBuilder $container) {
    $cache_info['cache']['bins'] = [];
    $cache_info['cache']['default_bin_backends'] = [];
    $cache_info['memory_cache']['bins'] = [];
    $cache_info['memory_cache']['default_bin_backends'] = [];
    $tag_info = [
      'cache.bin' => 'cache',
      'cache.bin.memory' => 'memory_cache',
    ];
    foreach ($tag_info as $service_tag => $section) {
      foreach ($container->findTaggedServiceIds($service_tag) as $id => $attributes) {
        $bin = substr($id, strpos($id, '.') + 1);
        $cache_info[$section]['bins'][$id] = $bin;
        if (isset($attributes[0]['default_backend'])) {
          $cache_info[$section]['default_bin_backends'][$bin] = $attributes[0]['default_backend'];
        }
      }
    }
    $container->setParameter('cache_bins', $cache_info['cache']['bins']);
    $container->setParameter('cache_default_bin_backends', $cache_info['cache']['default_bin_backends']);
    $container->setParameter('memory_cache_bins', $cache_info['memory_cache']['bins']);
    $container->setParameter('memory_cache_default_bin_backends', $cache_info['memory_cache']['default_bin_backends']);
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | 
|---|---|---|---|
| ListCacheBinsPass::process | public | function | Implements CompilerPassInterface::process(). | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
