Documentation

FilesystemAdapter extends AbstractAdapter
in package
implements PruneableInterface uses FilesystemTrait

FinalYes

Table of Contents

Interfaces

PruneableInterface
Interface extends psr-6 and psr-16 caches to allow for pruning (deletion) of all expired cache items.

Constants

TTL_ONE_MONTH  = 2629743

Methods

__construct()  : mixed
commit()  : bool
Persists any deferred cache items.
createConnection()  : mixed
createSystemCache()  : AdapterInterface
Returns the best possible adapter that your runtime supports.
init()  : void
Sets up the caching folder with the given namespace.
prefixNamespaceWithVersion()  : string

Constants

Methods

__construct()

public __construct([string $namespace = 'phpdoc' ][, int $defaultLifetime = self::TTL_ONE_MONTH ]) : mixed
Parameters
$namespace : string = 'phpdoc'
$defaultLifetime : int = self::TTL_ONE_MONTH

commit()

Persists any deferred cache items.

public commit() : bool
Return values
bool

True if all not-yet-saved items were successfully saved or there were none. False otherwise.

createConnection()

public static createConnection(string $dsn[, array<string|int, mixed> $options = [] ]) : mixed
Parameters
$dsn : string
$options : array<string|int, mixed> = []

createSystemCache()

Returns the best possible adapter that your runtime supports.

public static createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory[, LoggerInterface|null $logger = null ]) : AdapterInterface

Using ApcuAdapter makes system caches compatible with read-only filesystems.

Parameters
$namespace : string
$defaultLifetime : int
$version : string
$directory : string
$logger : LoggerInterface|null = null
Return values
AdapterInterface

init()

Sets up the caching folder with the given namespace.

public init(string $namespace, string $directory) : void

With phpDocumentor you can set the caching folder in your configuration; this poses an interesting problem with the default FilesystemAdapter of Symfony as that only allows you to set the caching folder upon instantiation.

This method prefixes the namespace with a hash of the current application version. We do this because changes between versions, even minor ones, can cause unexpected issues due to serialization. As a trade-off, we thus force a fresh cache if you use a new/different version of phpDocumentor.

For example:

If a new property is added to a descriptor, upon unserialize PHP will attempt to populate that
with the default property value, or fail if none is provided, but that default may not be the actual result.

Since phpDocumentor runs fast enough for the occasional cache clear, this will have limited impact for end
users and guarantees that the cached state is correct.
Parameters
$namespace : string
$directory : string

prefixNamespaceWithVersion()

private prefixNamespaceWithVersion(string $namespace) : string
Parameters
$namespace : string
Return values
string

        
On this page

Search results