mirror of
https://github.com/wintercms/winter.git
synced 2024-06-28 05:33:29 +02:00
This improves the reliability of the cache:clear command by not requiring the custom winter cache directories to exist when running cache:clear.
Also removes the clearing of disabled.json which is no longer used as of 1bbfb67d8c
85 lines
1.7 KiB
PHP
85 lines
1.7 KiB
PHP
<?php namespace System\Helpers;
|
|
|
|
use App;
|
|
use File;
|
|
use Cache as CacheFacade;
|
|
use Config;
|
|
|
|
class Cache
|
|
{
|
|
use \Winter\Storm\Support\Traits\Singleton;
|
|
|
|
/**
|
|
* Execute the console command.
|
|
*/
|
|
public static function clear()
|
|
{
|
|
CacheFacade::flush();
|
|
self::clearInternal();
|
|
}
|
|
|
|
public static function clearInternal()
|
|
{
|
|
$instance = self::instance();
|
|
$instance->clearCombiner();
|
|
$instance->clearCache();
|
|
|
|
if (!Config::get('cms.twigNoCache')) {
|
|
$instance->clearTwig();
|
|
}
|
|
|
|
$instance->clearMeta();
|
|
}
|
|
|
|
/*
|
|
* Combiner
|
|
*/
|
|
public function clearCombiner()
|
|
{
|
|
$path = storage_path().'/cms/combiner';
|
|
if (!is_dir($path)) {
|
|
return;
|
|
}
|
|
foreach (File::directories($path) as $directory) {
|
|
File::deleteDirectory($directory);
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Cache
|
|
*/
|
|
public function clearCache()
|
|
{
|
|
$path = storage_path().'/cms/cache';
|
|
if (!is_dir($path)) {
|
|
return;
|
|
}
|
|
foreach (File::directories(storage_path().'/cms/cache') as $directory) {
|
|
File::deleteDirectory($directory);
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Twig
|
|
*/
|
|
public function clearTwig()
|
|
{
|
|
$path = storage_path().'/cms/twig';
|
|
if (!is_dir($path)) {
|
|
return;
|
|
}
|
|
foreach (File::directories(storage_path().'/cms/twig') as $directory) {
|
|
File::deleteDirectory($directory);
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Meta
|
|
*/
|
|
public function clearMeta()
|
|
{
|
|
File::delete(App::getCachedCompilePath());
|
|
File::delete(App::getCachedServicesPath());
|
|
}
|
|
}
|