daoandco / cakephp-cachecleaner
CacheCleaner plugin for CakePHP, this shell clean the cache of your application.
Installs: 585
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=5.4.16
- cakephp/cakephp: ~3.0
Requires (Dev)
This package is not auto-updated.
Last update: 2025-01-10 10:19:40 UTC
README
This plugin is a shell that cleans the cache in your application
Requirements
- PHP version 5.4.16 or higher
- CakePhp 3.0 or higher
Installation
You can install this plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
composer require daoandco/cakephp-cachecleaner
Loading the Plugin
// In config/bootstrap.php Plugin::load('CacheCleaner', ['bootstrap' => true, 'routes' => false]);
Quick Start
Clear all cache
bin/cake CacheCleaner.clear -a
Clear cake cache
bin/cake CacheCleaner.clear cake
Tasks
ORM
It's the equivalent to orm_cache clear
. See more informations
bin/cake CacheCleaner.clear orm
Cake
Clear the cache generate by Cake\Cache\Cache
bin/cake CacheCleaner.clear cake
Opcache
Resets the entire opcode cache, See more informations
bin/cake CacheCleaner.clear opcache
Dir
Clear directories in "tmp/cache/"
- Clear all directories
bin/cake CacheCleaner.clear dir -a
- Clear one directory
bin/cake CacheCleaner.clear dir dir_name
- Clear many directories
bin/cake CacheCleaner.clear dir dir_name other_dir_name
Configuration
Create config file
Create a file in app/config
like 'vendor/daoandco/cakephp-cachecleaner/config/config.php'
<?php // config/cachecleaner.php return [ 'CacheCleaner' => [ 'tasks' => ['CacheCleaner.Dir', 'CacheCleaner.Orm', 'CacheCleaner.Cake', 'CacheCleaner.Opcache'], 'Dir' => [ 'dirs' => true, ], ] ];
Load configuration
<?php // In config/bootstrap.php Configure::load('cachecleaner', 'default');
Options
- tasks : add or remove tasks Exemple : if you do not want Opcache you can write
tasks' => ['CacheCleaner.Dir', 'CacheCleaner.Orm', 'CacheCleaner.Cake'],
- Dir.dirs : choose the folders to clear
Exemple : if you want clear only
persistent
forler you can write
'Dir' => [ 'dirs' => ['persistent'], ],
Create a new task for your usage
You can add your own tasks, Your class must implement Task Interface
Create the task
// In Shell/Task namespace App\Shell\Task; use Cake\Console\Shell; use Cake\Console\ConsoleOptionParser; use CacheCleaner\Shell\Task\TaskInterface; class DemoTask extends Shell implements TaskInterface { public function getOptionParser() { $parser = new ConsoleOptionParser('console'); $parser ->description("Task description") ->command("demo") ; return $parser; } public function help() { return 'Task description'; } public function main() { // call with de command : "bin/cake CacheCleaner.clear demo" $this->success('OK'); } public function all() { // call with de command : "bin/cake CacheCleaner.clear demo -a" $this->success('OK'); } }
Load the task
<?php // In config/cachecleaner.php return [ 'CacheCleaner' => [ 'tasks' => ['CacheCleaner.Dir', 'CacheCleaner.Orm', 'CacheCleaner.Cake', 'CacheCleaner.Opcache', 'Demo'], 'Dir' => [ 'dirs' => true, ], ] ];