original_string: public static function get_stores_suitable_for_definition(cache_definition $definition) {
          $factory = cache_factory::instance();
          $stores = array();
          if ($factory->is_initialising() || $factory->stores_disabled()) {
              // No suitable stores here.
              return $stores;
          } else {
              $stores = self::get_cache_stores($definition);
              // If mappingsonly is set, having 0 stores is ok.
              if ((count($stores) === 0) && (!$definition->is_for_mappings_only())) {
                  // No suitable stores we found for the definition. We need to come up with a sensible default.
                  // If this has happened we can be sure that the user has mapped custom stores to either the
                  // mode of the definition. The first alternative to try is the system default for the mode.
                  // e.g. the default file store instance for application definitions.
                  $config = $factory->create_config_instance();
                  foreach ($config->get_stores($definition->get_mode()) as $name => $details) {
                      if (!empty($details['default'])) {
                          $stores[] = $factory->create_store_from_config($name, $details, $definition);
                          break;
                      }
                  }
              }
          }
          return $stores;
      }
code: public static function get_stores_suitable_for_definition(cache_definition $definition) {
          $factory = cache_factory::instance();
          $stores = array();
          if ($factory->is_initialising() || $factory->stores_disabled()) {
              // No suitable stores here.
              return $stores;
          } else {
              $stores = self::get_cache_stores($definition);
              // If mappingsonly is set, having 0 stores is ok.
              if ((count($stores) === 0) && (!$definition->is_for_mappings_only())) {
                  // No suitable stores we found for the definition. We need to come up with a sensible default.
                  // If this has happened we can be sure that the user has mapped custom stores to either the
                  // mode of the definition. The first alternative to try is the system default for the mode.
                  // e.g. the default file store instance for application definitions.
                  $config = $factory->create_config_instance();
                  foreach ($config->get_stores($definition->get_mode()) as $name => $details) {
                      if (!empty($details['default'])) {
                          $stores[] = $factory->create_store_from_config($name, $details, $definition);
                          break;
                      }
                  }
              }
          }
          return $stores;
      }
code_tokens: public static function get_stores_suitable_for_definition ( cache_definition $ definition ) { $ factory = cache_factory :: instance ( ) ; $ stores = array ( ) ; if ( $ factory -> is_initialising ( ) || $ factory -> stores_disabled ( ) ) { // No suitable stores here. return $ stores ; } else { $ stores = self :: get_cache_stores ( $ definition ) ; // If mappingsonly is set, having 0 stores is ok. if ( ( count ( $ stores ) === 0 ) && ( ! $ definition -> is_for_mappings_only ( ) ) ) { // No suitable stores we found for the definition. We need to come up with a sensible default. // If this has happened we can be sure that the user has mapped custom stores to either the // mode of the definition. The first alternative to try is the system default for the mode. // e.g. the default file store instance for application definitions. $ config = $ factory -> create_config_instance ( ) ; foreach ( $ config -> get_stores ( $ definition -> get_mode ( ) ) as $ name => $ details ) { if ( ! empty ( $ details [ 'default' ] ) ) { $ stores [ ] = $ factory -> create_store_from_config ( $ name , $ details , $ definition ) ; break ; } } } } return $ stores ; }
docstring: Returns stores suitable for use with a given definition.
  
  @param cache_definition $definition
  @return cache_store[]
docstring_tokens: Returns stores suitable for use with a given definition .