daoandco/cakephp-cachecleaner

There is no license information available for the latest version (v2.0.1) of this package.

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

Installs: 582

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 1

Open Issues: 0

Type:cakephp-plugin

v2.0.1 2019-12-19 09:26 UTC

This package is not auto-updated.

Last update: 2022-12-02 00:05:14 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,
        ],
    ]
];