Wolff\Core\Cache
The views use by default a cache system.
When loading a view, a file titled {fileDirectory}.tmp
will be created in the cache folder if it doesn't exists already.
So the view will be loader from that file and any change made to the original file will not be displayed until the cache file expires or is deleted manually.
You can perfectly refresh the cache deleting the cache folder content or the folder itself.
If you want to force a view to don't use the cache system, you can pass a false
value to the render
method of the Wolff\Core\View
class as the third parameter.
View::render('home', $data, false);
That will force that view to don't use the cache system, keep in mind that the loading time could increase due to this.
The default life time for a cache file is One week.
isEnabled(): bool
Returns true
if the cache system is enabled, false
otherwise.
Cache::isEnabled();
setStatus([bool $enabled]): void
Sets the status of the cache system. true
to enable it, false
to disable it.
Cache::setStatus(true);
get(string $dir): string
Returns the content of the specified cache file.
Cache::get('home');
That will return the content of the home cache file (home.tmp
).
set(string $dir, string $content): string
Creates a cache file.
$file_content = '<h2>Hello</h2>';
Cache::set('home', $file_content);
The first parameter is the desired directory for the cache file, the second is the content that will be written into that file.
This method returns the path of the created cache file.
mkdir(): bool
Makes the cache folder if it doesn't already exists.
This method returns true
if the cache folder exists or has been created, false
otherwise.
Cache::mkdir();
has(string $dir): bool
Returns true
if the given cache key exists, false
otherwise.
Cache::has('home');
That will return true
if the home cache file exists, false
otherwise.
getFilename(string $dir): string
Returns the absolute path of the given cache file.
Cache::getFilename('home');
That example should return something like /var/www/html/wolff/cache/home.tmp
.
delete(string $dir): bool
Deletes the specified cache file.
This method returns true
if the file has been successfully deleted, false
otherwise.
Cache::delete('home');
That will delete the home cache file (cache/home.tmp
).
clear([int $seconds]): void
Deletes the cache files.
Cache::clear();
That will delete all the cache files.
This method can take an optional parameter which is the minimum time (in seconds) that a file needs to have since its last creation/modification to be deleted.
Cache::clear(60);
That will delete any cache file that has been created/modified more than 60 seconds ago.