Hi,
SiCo007 a écrit :
Hi, how do I 'easily' get the tags for a cache file now? It used to be a case
of each tag was it's own file, now I see they are stored in an array inside
a meta file.
Do I simply open each file or are there Zend_Cache methods to this for me? -
I didn't see them in the code so thought I'd check before re-inventing the
wheel!
Thanks
-----
Simon
http://www.ajb007.co.uk/
Starting with ZF 1.7 Preview Release, you can use the getTags() method
on your cache object.
It works with backends which support the "extended interface" :
'File', 'Apc', 'TwoLevels', 'Memcached', 'Sqlite' (for the moment)
For your information, here is the extended interface :
/**
* Return an array of stored cache ids
*
* @return array array of stored cache ids (string)
*/
public function getIds();
/**
* Return an array of stored tags
*
* @return array array of stored tags (string)
*/
public function getTags();
/**
* Return an array of stored cache ids which match given tags
*
* In case of multiple tags, a logical AND is made between tags
*
* @param array $tags array of tags
* @return array array of matching cache ids (string)
*/
public function getIdsMatchingTags($tags = array());
/**
* Return an array of stored cache ids which don't match given tags
*
* In case of multiple tags, a logical OR is made between tags
*
* @param array $tags array of tags
* @return array array of not matching cache ids (string)
*/
public function getIdsNotMatchingTags($tags = array());
/**
* Return the filling percentage of the backend storage
*
* @return int integer between 0 and 100
*/
public function getFillingPercentage();
/**
* Return an array of metadatas for the given cache id
*
* The array must include these keys :
* - expire : the expire timestamp
* - tags : a string array of tags
* - mtime : timestamp of last modification time
*
* @param string $id cache id
* @return array array of metadatas (false if the cache id is not found)
*/
public function getMetadatas($id);
/**
* Give (if possible) an extra lifetime to the given cache id
*
* @param string $id cache id
* @param int $extraLifetime
* @return boolean true if ok
*/
public function touch($id, $extraLifetime);
/**
* Return an associative array of capabilities (booleans) of the backend
*
* The array must include these keys :
* - automatic_cleaning (is automating cleaning necessary)
* - tags (are tags supported)
* - expired_read (is it possible to read expired cache records
* (for doNotTestCacheValidity option for example))
* - priority does the backend deal with priority when saving
* - infinite_lifetime (is infinite lifetime can work with this backend)
* - get_list (is it possible to get the list of cache ids and the
complete list of tags)
*
* @return array associative of with capabilities
*/
public function getCapabilities();
Regards,
Fabien