view vendor/consolidation/annotated-command/src/Cache/CacheWrapper.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
line wrap: on
line source
<?php
namespace Consolidation\AnnotatedCommand\Cache;

/**
 * Make a generic cache object conform to our expected interface.
 */
class CacheWrapper implements SimpleCacheInterface
{
    protected $dataStore;

    public function __construct($dataStore)
    {
        $this->dataStore = $dataStore;
    }

    /**
     * Test for an entry from the cache
     * @param string $key
     * @return boolean
     */
    public function has($key)
    {
        if (method_exists($this->dataStore, 'has')) {
            return $this->dataStore->has($key);
        }
        $test = $this->dataStore->get($key);
        return !empty($test);
    }

    /**
     * Get an entry from the cache
     * @param string $key
     * @return array
     */
    public function get($key)
    {
        return (array) $this->dataStore->get($key);
    }

    /**
     * Store an entry in the cache
     * @param string $key
     * @param array $data
     */
    public function set($key, $data)
    {
        $this->dataStore->set($key, $data);
    }
}