2017 © Pedro Peláez
 

library kes

image

eoko/kes

  • Tuesday, March 27, 2018
  • by iam_merlin
  • Repository
  • 3 Watchers
  • 0 Stars
  • 233 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 21 % Grown

The README.md

KES

Build Status, (*1)

Store entity in a key/value database like Redis., (*2)

Usage

Create Manager

<?php

use Doctrine\Common\Annotations\AnnotationRegistry;
use Eoko\Kes\EntityCacheManager;
use Eoko\Kes\Plugins\DisabledPlugin\DisabledPlugin;
use Eoko\Kes\Plugins\MetadataPlugin\MetadataPlugin;
use Eoko\Kes\Plugins\UniqueIdPlugin\UniqueIdPlugin;
use JMS\Serializer\SerializerBuilder;
use Symfony\Component\Cache\Adapter\ArrayAdapter;
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
use Symfony\Component\EventDispatcher\EventDispatcher;

AnnotationRegistry::registerLoader('class_exists');

$eventDispatcher = new EventDispatcher();
$serializer = SerializerBuilder::create()->build();
$adapter = new TagAwareAdapter(new ArrayAdapter());

$manager = new EntityCacheManager($adapter);

// Register some useful plugins
$manager->registerPlugin(new MetadataPlugin());
$manager->registerPlugin(new UniqueIdPlugin());
$manager->registerPlugin(new DisabledPlugin());

$entity = new SampleEntity();, (*3)

$manager->createOneEntity($entity);, (*4)

/** @var MetadataEntityInterface|BaseEntityInterface|DisableEntityInterface $entity */ $entity = $manager->getOneEntity($entity); $manager->updateOneEntity($entity);, (*5)

$entity->setDisabled(true);, (*6)

$manager->updateOneEntity($entity);, (*7)

$manager->getOneEntity($entity, ['ignoreDisabled' => true]);, (*8)

$entity->setDisabled(false);, (*9)

$manager->updateOneEntity($entity, ['ignoreDisabled' => false]);, (*10)

// $manager->deleteOneEntity($entity); ```, (*11)

The Versions