Skip to content

Repository files navigation

KES

Build Status

Store entity in a key/value database like Redis.

Usage

Create Manager

<?phpuseDoctrine\Common\Annotations\AnnotationRegistry;
useEoko\Kes\EntityCacheManager;
useEoko\Kes\Plugins\DisabledPlugin\DisabledPlugin;
useEoko\Kes\Plugins\MetadataPlugin\MetadataPlugin;
useEoko\Kes\Plugins\UniqueIdPlugin\UniqueIdPlugin;
useJMS\Serializer\SerializerBuilder;
useSymfony\Component\Cache\Adapter\ArrayAdapter;
useSymfony\Component\Cache\Adapter\TagAwareAdapter;
useSymfony\Component\EventDispatcher\EventDispatcher;
AnnotationRegistry::registerLoader('class_exists');
$eventDispatcher = newEventDispatcher();
$serializer = SerializerBuilder::create()->build();
$adapter = newTagAwareAdapter(newArrayAdapter());
$manager = newEntityCacheManager($adapter);
// Register some useful plugins$manager->registerPlugin(newMetadataPlugin());
$manager->registerPlugin(newUniqueIdPlugin());
$manager->registerPlugin(newDisabledPlugin());

$entity = new SampleEntity();

$manager->createOneEntity($entity);

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

$entity->setDisabled(true);

$manager->updateOneEntity($entity);

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

$entity->setDisabled(false);

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

// $manager->deleteOneEntity($entity);

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages