[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/phpbb/cache/driver/ -> driver_interface.php (source)

   1  <?php
   2  /**
   3  *
   4  * This file is part of the phpBB Forum Software package.
   5  *
   6  * @copyright (c) phpBB Limited <https://www.phpbb.com>
   7  * @license GNU General Public License, version 2 (GPL-2.0)
   8  *
   9  * For full copyright and license information, please see
  10  * the docs/CREDITS.txt file.
  11  *
  12  */
  13  
  14  namespace phpbb\cache\driver;
  15  
  16  /**
  17  * An interface that all cache drivers must implement
  18  */
  19  interface driver_interface
  20  {
  21      /**
  22      * Load global cache
  23      *
  24      * @return mixed False if an error was encountered, otherwise the data type of the cached data
  25      */
  26  	public function load();
  27  
  28      /**
  29      * Unload cache object
  30      *
  31      * @return null
  32      */
  33  	public function unload();
  34  
  35      /**
  36      * Save modified objects
  37      *
  38      * @return null
  39      */
  40  	public function save();
  41  
  42      /**
  43      * Tidy cache
  44      *
  45      * @return null
  46      */
  47  	public function tidy();
  48  
  49      /**
  50      * Get saved cache object
  51      *
  52      * @param string $var_name         Cache key
  53      * @return mixed                 False if an error was encountered, otherwise the saved cached object
  54      */
  55  	public function get($var_name);
  56  
  57      /**
  58      * Put data into cache
  59      *
  60      * @param string $var_name         Cache key
  61      * @param mixed $var             Cached data to store
  62      * @param int $ttl                 Time-to-live of cached data
  63      * @return null
  64      */
  65  	public function put($var_name, $var, $ttl = 0);
  66  
  67      /**
  68      * Purge cache data
  69      *
  70      * @return null
  71      */
  72  	public function purge();
  73  
  74      /**
  75      * Destroy cache data
  76      *
  77      * @param string $var_name         Cache key
  78      * @param string $table             Table name
  79      * @return null
  80      */
  81  	public function destroy($var_name, $table = '');
  82  
  83      /**
  84      * Check if a given cache entry exists
  85      *
  86      * @param string $var_name         Cache key
  87      *
  88      * @return bool                     True if cache file exists and has not expired.
  89      *                                False otherwise.
  90      */
  91  	public function _exists($var_name);
  92  
  93      /**
  94      * Load result of an SQL query from cache.
  95      *
  96      * @param string $query            SQL query
  97      *
  98      * @return int|bool                Query ID (integer) if cache contains a rowset
  99      *                                for the specified query.
 100      *                                False otherwise.
 101      */
 102  	public function sql_load($query);
 103  
 104      /**
 105      * Save result of an SQL query in cache.
 106      *
 107      * In persistent cache stores, this function stores the query
 108      * result to persistent storage. In other words, there is no need
 109      * to call save() afterwards.
 110      *
 111      * @param \phpbb\db\driver\driver_interface $db    Database connection
 112      * @param string $query            SQL query, should be used for generating storage key
 113      * @param mixed $query_result    The result from \dbal::sql_query, to be passed to
 114      *                                 \dbal::sql_fetchrow to get all rows and store them
 115      *                                 in cache.
 116      * @param int $ttl                Time to live, after this timeout the query should
 117      *                                expire from the cache.
 118      * @return int|mixed                If storing in cache succeeded, an integer $query_id
 119      *                                 representing the query should be returned. Otherwise
 120      *                                 the original $query_result should be returned.
 121      */
 122  	public function sql_save(\phpbb\db\driver\driver_interface $db, $query, $query_result, $ttl);
 123  
 124      /**
 125      * Check if result for a given SQL query exists in cache.
 126      *
 127      * @param int $query_id
 128      * @return bool
 129      */
 130  	public function sql_exists($query_id);
 131  
 132      /**
 133      * Fetch row from cache (database)
 134      *
 135      * @param int $query_id
 136      * @return array|bool             The query result if found in the cache, otherwise
 137      *                                 false.
 138      */
 139  	public function sql_fetchrow($query_id);
 140  
 141      /**
 142      * Fetch a field from the current row of a cached database result (database)
 143      *
 144      * @param int $query_id
 145      * @param string $field             The name of the column.
 146      * @return string|bool             The field of the query result if found in the cache,
 147      *                                 otherwise false.
 148      */
 149  	public function sql_fetchfield($query_id, $field);
 150  
 151      /**
 152      * Seek a specific row in an a cached database result (database)
 153      *
 154      * @param int $rownum             Row to seek to.
 155      * @param int $query_id
 156      * @return bool
 157      */
 158  	public function sql_rowseek($rownum, $query_id);
 159  
 160      /**
 161      * Free memory used for a cached database result (database)
 162      *
 163      * @param int $query_id
 164      * @return bool
 165      */
 166  	public function sql_freeresult($query_id);
 167  
 168      /**
 169       * Ensure query ID can be used by cache
 170       *
 171       * @param object|resource|int|string $query_id Mixed type query id
 172       *
 173       * @return int|string Query id in string or integer format
 174       */
 175  	public function clean_query_id($query_id);
 176  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1