diff options
Diffstat (limited to 'phpBB/phpbb/cache/driver/driver_interface.php')
| -rw-r--r-- | phpBB/phpbb/cache/driver/driver_interface.php | 167 | 
1 files changed, 167 insertions, 0 deletions
| diff --git a/phpBB/phpbb/cache/driver/driver_interface.php b/phpBB/phpbb/cache/driver/driver_interface.php new file mode 100644 index 0000000000..9ac9ca0c59 --- /dev/null +++ b/phpBB/phpbb/cache/driver/driver_interface.php @@ -0,0 +1,167 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\cache\driver; + +/** +* An interface that all cache drivers must implement +*/ +interface driver_interface +{ +	/** +	* Load global cache +	* +	* @return mixed False if an error was encountered, otherwise the data type of the cached data +	*/ +	public function load(); + +	/** +	* Unload cache object +	* +	* @return null +	*/ +	public function unload(); + +	/** +	* Save modified objects +	* +	* @return null +	*/ +	public function save(); + +	/** +	* Tidy cache +	* +	* @return null +	*/ +	public function tidy(); + +	/** +	* Get saved cache object +	* +	* @param string $var_name 		Cache key +	* @return mixed 				False if an error was encountered, otherwise the saved cached object +	*/ +	public function get($var_name); + +	/** +	* Put data into cache +	* +	* @param string $var_name 		Cache key +	* @param mixed $var 			Cached data to store +	* @param int $ttl 				Time-to-live of cached data +	* @return null +	*/ +	public function put($var_name, $var, $ttl = 0); + +	/** +	* Purge cache data +	* +	* @return null +	*/ +	public function purge(); + +	/** +	* Destroy cache data +	* +	* @param string $var_name 		Cache key +	* @param string $table 			Table name +	* @return null +	*/ +	public function destroy($var_name, $table = ''); + +	/** +	* Check if a given cache entry exists +	* +	* @param string $var_name 		Cache key +	* +	* @return bool 					True if cache file exists and has not expired. +	*								False otherwise. +	*/ +	public function _exists($var_name); + +	/** +	* Load result of an SQL query from cache. +	* +	* @param string $query			SQL query +	* +	* @return int|bool				Query ID (integer) if cache contains a rowset +	*								for the specified query. +	*								False otherwise. +	*/ +	public function sql_load($query); + +	/** +	* Save result of an SQL query in cache. +	* +	* In persistent cache stores, this function stores the query +	* result to persistent storage. In other words, there is no need +	* to call save() afterwards. +	* +	* @param \phpbb\db\driver\driver_interface $db	Database connection +	* @param string $query			SQL query, should be used for generating storage key +	* @param mixed $query_result	The result from \dbal::sql_query, to be passed to +	* 								\dbal::sql_fetchrow to get all rows and store them +	* 								in cache. +	* @param int $ttl				Time to live, after this timeout the query should +	*								expire from the cache. +	* @return int|mixed				If storing in cache succeeded, an integer $query_id +	* 								representing the query should be returned. Otherwise +	* 								the original $query_result should be returned. +	*/ +	public function sql_save(\phpbb\db\driver\driver_interface $db, $query, $query_result, $ttl); + +	/** +	* Check if result for a given SQL query exists in cache. +	* +	* @param int $query_id +	* @return bool +	*/ +	public function sql_exists($query_id); + +	/** +	* Fetch row from cache (database) +	* +	* @param int $query_id +	* @return array|bool 			The query result if found in the cache, otherwise +	* 								false. +	*/ +	public function sql_fetchrow($query_id); + +	/** +	* Fetch a field from the current row of a cached database result (database) +	* +	* @param int $query_id +	* @param string $field 			The name of the column. +	* @return string|bool 			The field of the query result if found in the cache, +	* 								otherwise false. +	*/ +	public function sql_fetchfield($query_id, $field); + +	/** +	* Seek a specific row in an a cached database result (database) +	* +	* @param int $rownum 			Row to seek to. +	* @param int $query_id +	* @return bool +	*/ +	public function sql_rowseek($rownum, $query_id); + +	/** +	* Free memory used for a cached database result (database) +	* +	* @param int $query_id +	* @return bool +	*/ +	public function sql_freeresult($query_id); +} | 
