asgard/cache

v0.3.1 2016-05-13 11:31 UTC

This package is not auto-updated.

Last update: 2024-04-13 12:53:49 UTC


README

#Cache

Build Status

Asgard\Cache is a wrapper for the doctrine cache package. It provides a few additionnal features.

##Installation If you are working on an Asgard project you don't need to install this library as it is already part of the standard libraries.

composer require asgard/cache 0.*

##Usage in the Asgard Framework The cache is available through the service:

$cache = $container['cache'];

To change, the cache driver in an Asgard application, edit the web/index.php file.

##Usage outside the Asgard Framework

$cache = new \Asgard\Cache\Cache(new \Doctrine\Common\Cache\Cache);

##Array implementation

You can access the cache like an array :

$value = $cache['key'];
$cache['key'] => $value;
isset($cache['key']);
unset($cache['key']);

##Default result

If the cache cannot fetch you key, it will return and store the default value. The default value can also be a callback, in which case the result will be returned and stored:

$cache->fetch('key', 'default');
#or
$cache->fetch('key', function() {
	return 'default';
})

##NullCache

NullCache lets you use the cache without concern for its activation. The values will not be stored but the code using the cache will be same either way:

$cache = new \Asgard\Cache\Cache(new \Asgard\Cache\NullCache());
$res = $cache->fetch('home', function() {
	return '<h1>Home</h1>';
});

If the cache driver was different, the result would be stored and used the next time the cache is called.

##Commands

###Clear cache

Clear the cache.

Usage:

php console cc

###Contributing

Please submit all issues and pull requests to the asgardphp/asgard repository.

License

The Asgard framework is open-sourced software licensed under the MIT license