Asgard\Cache is a wrapper for the doctrine cache package. It provides a few additionnal features., (*2)
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., (*4)
composer require asgard/cache 0.*
The cache is available through the service:, (*6)
$cache = $container['cache'];
To change, the cache driver in an Asgard application, edit the web/index.php file., (*7)
$cache = new \Asgard\Cache\Cache(new \Doctrine\Common\Cache\Cache);
You can access the cache like an array :, (*10)
$value = $cache['key']; $cache['key'] => $value; isset($cache['key']); unset($cache['key']);
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:, (*12)
$cache->fetch('key', 'default'); #or $cache->fetch('key', function() { return 'default'; })
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:, (*14)
$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., (*15)
Clear the cache., (*17)
Usage:, (*18)
php console cc
Please submit all issues and pull requests to the asgardphp/asgard repository., (*19)
The Asgard framework is open-sourced software licensed under the MIT license, (*20)