trt / doctrine-encrypted-cache-bundle
Doctrine Encrypted Cache Bundle
Installs: 1 588
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
pkg:composer/trt/doctrine-encrypted-cache-bundle
Requires
Requires (Dev)
- phpunit/phpunit: ~4.4
This package is not auto-updated.
Last update: 2026-02-10 15:24:43 UTC
README
This bundle integrates a Symfony2 application with the trt/doctrine-encoded-cache library.
##Why cache encoding?
Because sometimes there is the need to make the cached data unreadable.
Think about high confidential data.
Only database servers are authorized to store datas.
How?
Cached data will be encrypted/decripted with AES256 (php-mcrypt extension is required)
Installation
run php composer.phar require trt/doctrine-encrypted-cache-bundle:~0.1
Create your KeyProvider
Put the following lines with Symfony Kernel
public function registerBundles()
{
$bundles = array(
new Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle(),
new Trt\Doctrine\Cache\Bundle\DoctrineEncodedCacheBundle()
);
}
For security reason it's your responsability to store the encoding key in a safe place, so a key provider service is mandatory.
Create your own service implementing the KeyProvider interface.
Example:
class CacheKeyProvider implements \Trt\Doctrine\Cache\Key\KeyProvider
{
/**
* Provide the encoding key string.
*
* @return String
*/
public function getKey()
{
return $this->fetchKeyFromASafePlace();
}
}
Register the service:
services:
my_bundle.cache.key_provider:
class: My\Bundle\CacheKeyProvider
Full Configuration
According to the DoctrineCacheBundle documentation, configure the cache service
## An Example with apc cache
doctrine_cache:
aliases:
cache_apc: my_apc_cache
providers:
my_apc_cache:
type: apc
namespace: my_apc_cache_ns
aliases:
- apc_cache
doctrine_encoded_cache:
key_provider: my_bundle.cache.key_provider #Your key provider service
cache: apc_cache #The doctrine cache service
# Enable the doctrine ORM cache
doctrine:
orm:
result_cache_driver:
type: service
id: doctrine_encoded_cache
metadata_cache_driver:
type: service
id: doctrine_encoded_cache
query_cache_driver:
type: service
id: doctrine_encoded_cache