示例#1
0
 /**
  * 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);
 }
示例#2
0
文件: lib.php 项目: dg711/moodle
 /**
  * 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);
 }