PHP code example of ecomdev / cache-key

1. Go to this page and download the library: Download ecomdev/cache-key library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ecomdev / cache-key example snippets


use EcomDev\CacheKey\Normalizer\EncodeNormalizer;
use EcomDev\CacheKey\Generator;

$generator = new Generator(new EncodeNormalizer());
$generator->generate('some_bad_#^.;:/\\_character'); // Generates "some_bad_235e2e3b3a2f5c_character"

use EcomDev\CacheKey\Normalizer\EncodeNormalizer;
use EcomDev\CacheKey\Normalizer\LengthNormalizer;
use EcomDev\CacheKey\NormalizerChain;
use EcomDev\CacheKey\Generator;

$normalizer = new NormalizerChain([
    new EncodeNormalizer(),
    new LengthNormalizer(16)
]);

$generator = new Generator($normalizer);
$generator->generate('some_bad_#^.;:/\\_character'); // Generates "some_bad_235e2e3b3a2f5c_character"

use EcomDev\CacheKey\Normalizer\EncodeNormalizer;
use EcomDev\CacheKey\Converter\KeyValueConverter;
use EcomDev\CacheKey\Converter\ScalarConverter;
use EcomDev\CacheKey\Generator;

$generator = new Generator(
    new EncodeNormalizer(), 
    new KeyValueConverter(new ScalarConverter())
);

$generator->generate([
    'some-key' => 'some-value', 
    'another-key' => 'another-value'
]); // Generates "some-key_some-value_another-key_another-value"

class YourCustomModel implements EcomDev\CacheKey\InfoProviderInterface
{
    public function getCacheKeyInfo()
    {
        return [
            'some-key' => 'some-value', 
            'another-key' => 'another-value'
        ];
    }
}

use EcomDev\CacheKey\Normalizer\EncodeNormalizer;
use EcomDev\CacheKey\Converter\KeyValueConverter;
use EcomDev\CacheKey\Converter\ScalarConverter;
use EcomDev\CacheKey\Generator;

$object = new YourCustomModel();

$generator = new Generator(
    new EncodeNormalizer(), 
    new KeyValueConverter(new ScalarConverter())
);

$generator->generate($object); // Generates "some-key_some-value_another-key_another-value"

use EcomDev\CacheKey\Normalizer\Psr6Normalizer;
use EcomDev\CacheKey\Generator;

$generator = new Generator(Psr6Normalizer::create());
$generator->generate('give_me-psr-6-compatible_#^.;:/\\-key'); // Generates "give_me-psr-6-compatible_235e.3b3a2f5c-key"

use EcomDev\CacheKey\Normalizer\Psr6Normalizer;
use EcomDev\CacheKey\Generator;

$generator = new Generator(Psr6Normalizer::create(), null, 'prefix-');
$generator->generate('some-non-prefixed-key'); // Generates "prefix-some-non-prefixed-key"