}
$container->setDefinition('prevnext', new Definition(
+ 'CRM_Core_PrevNextCache_Interface',
+ [new Reference('service_container')]
+ ))->setFactory(array(new Reference(self::SELF), 'createPrevNextCache'));
+
+ $container->setDefinition('prevnext.driver.sql', new Definition(
'CRM_Core_PrevNextCache_Sql',
[]
));
return $kernel;
}
+ /**
+ * @param ContainerInterface $container
+ * @return \CRM_Core_PrevNextCache_Interface
+ */
+ public static function createPrevNextCache($container) {
+ $cacheDriver = \CRM_Utils_Cache::getCacheDriver();
+ $service = 'prevnext.driver.' . strtolower($cacheDriver);
+ return $container->has($service)
+ ? $container->get($service)
+ : $container->get('prevnext.driver.sql');
+ }
+
/**
* Get a list of boot services.
*