phpnomad/symfony-cache-integration

Maintainers

Package info

github.com/phpnomad/symfony-cache-integration

Homepage

pkg:composer/phpnomad/symfony-cache-integration

Statistics

Installs: 24

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 1

1.0.0 2024-12-18 17:25 UTC

This package is auto-updated.

Last update: 2026-04-10 02:12:37 UTC


README

Latest Version Total Downloads PHP Version License

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.

<?php

namespace MyApp\Bootstrap;

use PHPNomad\Cache\Interfaces\CacheStrategy;
use PHPNomad\Loader\Interfaces\HasClassDefinitions;
use PHPNomad\Symfony\Component\CacheIntegration\Strategies\SymfonyFileCache;

final class AppInitializer implements HasClassDefinitions
{
    public function getClassDefinitions(): 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.