/** * Creates a store instance given its name and configuration. * * If the store has already been instantiated then the original object will be returned. (reused) * * @param string $name The name of the store (must be unique remember) * @param array $details * @param cache_definition $definition The definition to instantiate it for. * @return boolean|cache_store */ public function create_store_from_config($name, array $details, cache_definition $definition) { if (isset($details['use_test_store'])) { // name, plugin, alt $class = 'cachestore_' . $details['plugin']; $method = 'initialise_unit_test_instance'; if (class_exists($class) && method_exists($class, $method)) { $instance = $class::$method($definition); if ($instance) { return $instance; } } $details = $details['alt']; $name = $details['name']; } return parent::create_store_from_config($name, $details, $definition); }
/** * Creates a store instance given its name and configuration. * * If the store has already been instantiated then the original object will be returned. (reused) * * @param string $name The name of the store (must be unique remember) * @param array $details * @param cache_definition $definition The definition to instantiate it for. * @return boolean|cache_store */ public function create_store_from_config($name, array $details, cache_definition $definition) { if (isset($details['use_test_store'])) { // name, plugin, alt $class = 'cachestore_' . $details['plugin']; $method = 'initialise_unit_test_instance'; if (class_exists($class) && method_exists($class, $method)) { $instance = $class::$method($definition); if ($instance) { return $instance; } } // Notify user that alternative store is being used, so action can be taken. if (!$this->altcachestorenotice) { echo PHP_EOL . "++ WARNING: " . 'Failed to use "' . $details['plugin'] . '" cache store, alt "' . $details['alt']['plugin'] . '" cache store is used.' . PHP_EOL . PHP_EOL; $this->altcachestorenotice = true; } $details = $details['alt']; $details['class'] = 'cachestore_' . $details['plugin']; $name = $details['name']; } return parent::create_store_from_config($name, $details, $definition); }