GithubHelp home page GithubHelp logo

cache's Introduction

Latest Stable Version

Mozart - Cache

installation with composer

$ curl -s http://getcomposer.org/installer | php
$ php composer.phar require mozart/cache 	// next typing "dev-master"

installation with git

$ git clone https://github.com/FaizalPribadi/Cache.git /path/to/your-vendor/Cache

usage

<?php
require '../vendors/autoload.php';

use Mozart\Library\Cache\Cache;
use Mozart\Library\Cache\Driver\OpCache\Apc;
use Mozart\Library\Cache\Event\Status\CacheStatus;
use Mozart\Library\Cache\Compressed\CacheFlags;

$cache = new Cache(new Apc());
$status = new CacheStatus();

$cache->set('my.cache', 'im cache', CacheFlags::CACHE_LIFETIME );
$data = $cache->get('apc.cache');

if ($data) {
    $cache->remove($id);
    echo $status->getDropCache()->getStatus();
}

usage : cache support with event

<?php
use Mozart\Library\Event\EventDispatcher;
use Mozart\Library\Cache\Event\DropCacheEvent;
use Mozart\Library\Cache\Event\CacheStatusEvent;

class DropListener
{

    public function onDropCacheEvent(DropCacheEvent $event)
    {
        $event->getCache()->getStatus();
        $event->stopPropagation();

        echo $event->getEvent();
    }
}

class DropCacheListenr
{
    protected $dispatcher;

    /**
     * @param EventDispatcher $dispatcher
     */
    public function __construct(EventDispatcher $dispatcher = null)
    {
        if (null === $dispatcher) {
            $dispatcher = new EventDispatcher();
            $this->dispatcher = $dispatcher;
        }

        $listener = new DropListener();
        $listener->onDropCacheEvent(new DropCacheEvent());
        $this->dispatcher->addListener(CacheStatusEvent::CACHE_DROP_EVENT, array($listener, 'onDropCacheEvent'));
    }

    public function send()
    {
        $dropCache = new DropCacheEvent();
        return $this->dispatcher->dispatch(CacheStatusEvent::CACHE_DROP_EVENT, $dropCache);
    }
}

$listener = new DropCacheListenr();
var_dump($listener->send());

For full details usage, see Docs

You're own customize

<?php

//do something and customize this library

?>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.