Locator

in package

Locates the cache folder and ensures that the Symfony Cache is routed to that folder.

Contrary to the way Symfony regularly works, the cache folder can be provided by the configuration and should be set at runtime.

This class plays two roles in this process:

  1. It exposes a Path that can dynamically change, this will allow other services not to depend on an actual path being passed in their constructor (which is cached by Symfony!) but this service so that their cache actions use the folder that is provided at runtime.
  2. It will initialize the Symfony Cache pools on runtime

As long as all components that want to cache use this class; then that will ensure that cache is always written to the same location.

Caveat: this class does not change the location of the Symfony 'app' and 'system' cache pools by design; the Symfony internal cache is still stored in folder dictated by \phpDocumentor\Kernel::getCacheDir().

Properties

private$path  : ?\phpDocumentor\Path                

private$fileCache  : \phpDocumentor\Parser\Cache\FilesystemAdapter                

private$descriptorCache  : \phpDocumentor\Parser\Cache\FilesystemAdapter                

Methods

public__construct(CacheInterface $files, CacheInterface $descriptors) : mixed

Parameters

$files : CacheInterface
$descriptors : CacheInterface

Returns

mixed

publicprovidePath(Path $path) : void

Parameters

$path : Path

publiclocate([string $namespace = '' ]) : Path

Parameters

$namespace : string = ''

Returns

Path

privateroot() : Path

Returns

Path