Skip to content

urakozz/php-static-cache

Repository files navigation

Static Cache

Build Status Coverage Status Scrutinizer Code Quality Latest Stable Version Latest Unstable Version License

Static Cache with Repositories

About

You can use StaticCache as simple cache tool that allows you access cached data from every place of your application during runtime.

It doesn't stores data im memcached or some other data storage, that's just static implementation of Doctrine's ArrayCache

The most powerful idea of this library is Repositories

Repositories

Repository allows you initialize some heavy library once and than it's instance with simple Object-Oriented Style

E.g.: Assume are using Symfony Validator several times during the runtime. That's bad idea initialize it every time in different places of the application so you can easyly create SymfonyValidator Repository:

//SymfonyValidator.php

class SymfonyValidator implements CacheRepositoryInterface
{

  public funcnction getSingleton()
  {
    return Validation::createValidatorBuilder()
      ->enableAnnotationMapping(new CachedReader(new AnnotationReader(), new ArrayCache()))
      ->setMetadataCache(new DoctrineCache(new ArrayCache()))
      ->getValidator();
  }
}

//SomeFile.php use Kozz\Components\Cache\StaticCache

$validator = StaticCache::loadRepository(new SymfonyValidator()); //Validator initialized and saved in cache

//SomeOtherFile.php use Kozz\Components\Cache\StaticCache

$validator = StaticCache::loadRepository(new SymfonyValidator()); //Now validator just loaded from cache


### Reference

Methods

```get($id)``` - get

```set($id, $data)``` - set

```has($id)``` - check

```loadRepository(CacheRepositoryInterface $repository)``` - load Repository

About

Static Cache with Reposiories

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages