Skip to content

CassetteStoreRegistry

Process-global registry mapping short store aliases (file, azure-blob, s3, gcs, pdo) to the CassetteStoreInterface class that implements them, so replay.store can say file instead of a fully-qualified class name.

Mirrors QueueDriverRegistry/DatabaseDriverRegistry exactly.

Only file ships here. azure-blob and pdo register their own alias from their own plugin (quioteframework/replay-azure, quioteframework/replay-pdo), with zero change to this class; s3/gcs would do the same from their own plugin once one exists.

final class CassetteStoreRegistry

SourceStore/CassetteStoreRegistry.php
MethodDescription
aliases(): array<string, class-string<CassetteStoreInterface>>
[`factoryFor(string $alias): \Closure(\Quiote\DI\Container): CassetteStoreInterfacenull`](#factoryfor)
has(string $alias): boolWhether $alias has been registered — a fully-qualified class name is not an alias.
instantiateClassFor(string $aliasOrClass): stringResolves an alias or class name to a loadable CassetteStoreInterface implementation and returns its class name — nothing is instantiated here.
[`register(string $alias, class-string $storeClass, \Closure(\Quiote\DI\Container): CassetteStoreInterfacenull $factory = null): void`](#register)
reset(): voidTest isolation: restore the built-in aliases only.
resolve(string $aliasOrClass): stringA string that is not a registered alias is returned unchanged, so a fully-qualified class name passes through.

public static function aliases(): array<string, class-string<CassetteStoreInterface>>

Returns array``<``string``, ``class-string``<CassetteStoreInterface>``>

public static function factoryFor(string $alias): \Closure(\Quiote\DI\Container): CassetteStoreInterface|null

The factory for $alias, or null when its package registered none.

ParameterTypeDescription
$aliasstring

Returns \Closure(\Quiote\DI\Container): CassetteStoreInterface``|``null

public static function has(string $alias): bool

Whether $alias has been registered — a fully-qualified class name is not an alias.

ParameterTypeDescription
$aliasstring

Returns bool

public static function instantiateClassFor(string $aliasOrClass): string

Resolves an alias or class name to a loadable CassetteStoreInterface implementation and returns its class name — nothing is instantiated here.

ParameterTypeDescription
$aliasOrClassstring

Returns string

ThrowsWhen
RuntimeExceptionif the resolved class does not exist, or exists but does not implement CassetteStoreInterface.

public static function register(string $alias, class-string<CassetteStoreInterface> $storeClass, \Closure(\Quiote\DI\Container): CassetteStoreInterface|null $factory = null): void

How to build it. Required for any store ReplayPlugin does not know how to construct itself, which is every store but the built-in file one — see $factories.

ParameterTypeDescription
$aliasstring
$storeClassclass-string``<CassetteStoreInterface>
$factory`\Closure(\Quiote\DI\Container): CassetteStoreInterface““null`

public static function reset(): void

Test isolation: restore the built-in aliases only.

public static function resolve(string $aliasOrClass): string

A string that is not a registered alias is returned unchanged, so a fully-qualified class name passes through.

ParameterTypeDescription
$aliasOrClassstring

Returns string