From 58de562ac6a00f6a15181f952bdc1c44134c1075 Mon Sep 17 00:00:00 2001 From: zYne Date: Sun, 28 Jan 2007 22:16:26 +0000 Subject: [PATCH] added cache interface --- lib/Doctrine/Cache/Interface.php | 74 ++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 lib/Doctrine/Cache/Interface.php diff --git a/lib/Doctrine/Cache/Interface.php b/lib/Doctrine/Cache/Interface.php new file mode 100644 index 000000000..4788996d5 --- /dev/null +++ b/lib/Doctrine/Cache/Interface.php @@ -0,0 +1,74 @@ +. + */ + +/** + * Doctrine_Cache_Interface + * + * @package Doctrine + * @subpackage Doctrine_Cache + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @category Object Relational Mapping + * @link www.phpdoctrine.com + * @since 1.0 + * @version $Revision$ + * @author Konsta Vesterinen + */ +interface Doctrine_Cache_Interface +{ + /** + * Test if a cache is available for the given id and (if yes) return it (false else) + * + * Note : return value is always "string" (unserialization is done by the core not by the backend) + * + * @param string $id cache id + * @param boolean $testCacheValidity if set to false, the cache validity won't be tested + * @return string cached datas (or false) + */ + public function fetch($id, $testCacheValidity = true); + + /** + * Test if a cache is available or not (for the given id) + * + * @param string $id cache id + * @return mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record + */ + public function contains($id); + + /** + * Save some string datas into a cache record + * + * Note : $data is always saved as a string + * + * @param string $data data to cache + * @param string $id cache id + * @param int $lifeTime if != false, set a specific lifetime for this cache record (null => infinite lifeTime) + * @return boolean true if no problem + */ + public function save($data, $id, $tags = array(), $lifeTime = false); + + /** + * Remove a cache record + * + * @param string $id cache id + * @return boolean true if no problem + */ + public function delete($id); +}