API Reference

Auto-gegenereerd via Reflection — blijft altijd in sync met src/.

Filter: alleAppCacheCmsDbDebugDynamicEventsFilesFormHtmlHttpImageLogMediaSecuritySessionStdlibSupportView

ArrayCache

Framework\Cache\ArrayCache
final class

In-memory PSR-16 cache. Bedoeld voor tests en korte-levensduur scoping
binnen een enkel request.

8 public methods
clear(): bool
delete(string $key): bool
deleteMultiple(iterable $keys): bool
get(string $key, ?mixed $default = NULL): ?mixed
getMultiple(iterable $keys, ?mixed $default = NULL): iterable
has(string $key): bool
set(string $key, ?mixed $value, DateInterval|int|null $ttl = NULL): bool
setMultiple(iterable $values, DateInterval|int|null $ttl = NULL): bool

FileCache

Framework\Cache\FileCache
final class

File-based PSR-16 cache. Eén bestand per item, met TTL als header.

Layout:
<directory>/<sha1(key)>.cache → "<expiresAt>\n<serialized>"

expiresAt = unix timestamp; 0 = nooit verlopen.

__construct(string $directory)
8 public methods
clear(): bool
delete(string $key): bool
deleteMultiple(iterable $keys): bool
get(string $key, ?mixed $default = NULL): ?mixed
getMultiple(iterable $keys, ?mixed $default = NULL): iterable
has(string $key): bool
set(string $key, ?mixed $value, DateInterval|int|null $ttl = NULL): bool
setMultiple(iterable $values, DateInterval|int|null $ttl = NULL): bool

InvalidCacheKey

Framework\Cache\InvalidCacheKey
final class
__construct(string $message = '', int $code = 0, ?Throwable $previous = NULL)

DynamicCacheBuilder

Framework\Dynamic\Cache\DynamicCacheBuilder
final class

Pure cache-bouwer voor `DynamicItems.metadata.cache.values.{lang}.*`.

Geen DB, geen state — alleen input → output. Zo kunnen verschillende
IO-paden (warmer, post-save-hook, easyhandling's table-class) dezelfde
regels delen voor:
1. welk veld wel/niet de cache in mag (skip-list + encrypted),
2. hoe taalvrijgestelde velden (`language=''`) gemerged worden met
taalspecifieke waarden — taalspecifiek wint.

Datatype-skiplist gemodelleerd naar
easyhandling.nl/.../Dynamic/Model/DynamicItemsTable.php::shouldCacheFieldValue().

3 public methods
static buildAll(array $fields, iterable $rows, array $languages): array

Bouw cache voor meerdere talen tegelijk uit één rij-set.

static buildForLanguage(array $fields, iterable $rows, string $language): array

Bouw `name → value` voor één taal. Taalspecifieke rows winnen van
`language=''` rows; non-cacheable velden worden weggelaten.

static shouldCache(\DynamicTypeField $field): bool

Mag deze veldwaarde in de cache landen?

VariantCache

Framework\Image\Cache\VariantCache
final class

Schrijft / leest bytes onder een relative path binnen een root-directory.

Wordt twee keer gebruikt:
- Voor de getransformeerde varianten (`data/cache/img/`)
- Voor geëxtraheerde video-frames (`data/cache/img/frames/`)

Schrijven gaat atomair (tmp-file + rename) zodat een crash midden in de
write geen halve files achterlaat — een halve file zou nginx als geldige
cache-hit serveren en de browser zou corrupt content krijgen.

Path-traversal guard: relative path mag geen `..` of absolute prefix bevatten.

__construct(string $root)
4 public methods
exists(string $relativePath): bool
path(string $relativePath): string
read(string $relativePath): ?string
write(string $relativePath, string $bytes): void