Skip to content

DaoAndCo/cakephp-cachecleaner

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

CacheCleaner plugin for CakePHP

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,
        ],
    ]
];

About

CacheCleaner plugin for CakePHP, this shell clean the cache of your application

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages