Back to ApcuStorage class

Method getAll

public mixed
getAll
()
Get all cached data
Returns
  • mixed Boolean false on failure or a cached data object
Since
  • 3.5
Class: ApcuStorage
Project: Joomla

Method getAll - Source code

/**
 * Get all cached data
 *
 * @return  mixed  Boolean false on failure or a cached data object
 *
 * @since   3.5
 */
public function getAll()
{
    $allinfo = apcu_cache_info();
    $keys = $allinfo['cache_list'];
    $secret = $this->_hash;
    $data = array();
    foreach ($keys as $key) {
        if (isset($key['info'])) {
            // The internal key name changed with APCu 4.0.7 from key to info
            $name = $key['info'];
        } elseif (isset($key['entry_name'])) {
            // Some APCu modules changed the internal key name from key to entry_name
            $name = $key['entry_name'];
        } else {
            // A fall back for the old internal key name
            $name = $key['key'];
        }
        $namearr = explode('-', $name);
        if ($namearr !== false && $namearr[0] == $secret && $namearr[1] === 'cache') {
            $group = $namearr[2];
            if (!isset($data[$group])) {
                $item = new CacheStorageHelper($group);
            } else {
                $item = $data[$group];
            }
            $item->updateSize($key['mem_size']);
            $data[$group] = $item;
        }
    }
    return $data;
}