Skip to content

Repository files navigation

phpnomad/symfony-cache-integration

Latest VersionTotal DownloadsPHP VersionLicense

phpnomad/symfony-cache-integration adapts Symfony's Cache component to phpnomad/cache's CacheStrategy contract. It ships a single strategy, SymfonyFileCache, backed by Symfony's FilesystemAdapter. Your application code still depends only on the CacheStrategy interface, so the Symfony-specific wiring stays at the bootstrap layer and never leaks into the services that read and write cached values.

Installation

composer require phpnomad/symfony-cache-integration

What This Provides

  • SymfonyFileCache, a CacheStrategy implementation backed by Symfony's FilesystemAdapter. It gives you a filesystem-backed persistent cache that satisfies the phpnomad/cache contract (get, set, delete, exists, clear) and throws CachedItemNotFoundException on a miss, so consumers can catch the exception and fall back to their source of truth.

Requirements

  • phpnomad/cache for the CacheStrategy interface and the CachedItemNotFoundException this package throws
  • symfony/cache^7.1, the Symfony Cache component this package wraps
  • PHP 8.2 or newer, inherited from symfony/cache^7.1

Usage

Register SymfonyFileCache as the concrete implementation of CacheStrategy in one of your application's initializers. The container then resolves any service that type-hints CacheStrategy to the filesystem-backed adapter.

<?phpnamespaceMyApp\Bootstrap;
usePHPNomad\Cache\Interfaces\CacheStrategy;
usePHPNomad\Loader\Interfaces\HasClassDefinitions;
usePHPNomad\Symfony\Component\CacheIntegration\Strategies\SymfonyFileCache;
finalclass AppInitializer implements HasClassDefinitions
{
publicfunctiongetClassDefinitions(): array
{
return [
SymfonyFileCache::class => CacheStrategy::class,
];
}
}

Pass AppInitializer to your Bootstrapper alongside the rest of your initializers and the binding takes effect when load() runs.

Documentation

Full PHPNomad documentation lives at phpnomad.com. For the underlying caching layer, see the Symfony Cache component documentation.

License

Licensed under the MIT License.

About

Symfony Cache component integration for PHPNomad's cache abstraction

Topics

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages