AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>.namespace core_cache;/*** Cache Data Source.** The cache data source interface can be implemented by any class within Moodle.* If implemented then the class can be reference in a cache definition and will be used to load information that cannot be* retrieved from the cache. As part of its retrieval that information will also be loaded into the cache.** This allows developers to created a complete cache solution that can be used through code ensuring consistent cache* interaction and loading. Allowing them in turn to centralise code and help keeps things more easily maintainable.** Can be implemented by any class.** @package core_cache* @category cache* @copyright 2012 Sam Hemelryk* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/interface data_source_interface {/*** Returns an instance of the data source class that the cache can use for loading data using the other methods* specified by this interface.** @param definition $definition* @return object*/public static function get_instance_for_cache(definition $definition);/*** Loads the data for the key provided ready formatted for caching.** @param string|int $key The key to load.* @return mixed What ever data should be returned, or false if it can't be loaded.*/public function load_for_cache($key);/*** Loads several keys for the cache.** @param array $keys An array of keys each of which will be string|int.* @return array An array of matching data items.*/public function load_many_for_cache(array $keys);}// Alias this class to the old name.// This file will be autoloaded by the legacyclasses autoload system.// In future all uses of this class will be corrected and the legacy references will be removed.class_alias(data_source_interface::class, \cache_data_source::class);