class CacheClassMetadataFactory implements ClassMetadataFactoryInterface

Caches metadata using a PSR-6 implementation.

Traits

Resolves a class name.

Methods

__construct(ClassMetadataFactoryInterface $decorated, CacheItemPoolInterface $cacheItemPool)

No description

getMetadataFor(string|object $value)

If the method was called with the same class name (or an object of that class) before, the same metadata instance is returned.

bool
hasMetadataFor(mixed $value)

Checks if class has metadata.

Details

__construct(ClassMetadataFactoryInterface $decorated, CacheItemPoolInterface $cacheItemPool)

Parameters

ClassMetadataFactoryInterface $decorated
CacheItemPoolInterface $cacheItemPool

ClassMetadataInterface getMetadataFor(string|object $value)

If the method was called with the same class name (or an object of that class) before, the same metadata instance is returned.

If the factory was configured with a cache, this method will first look for an existing metadata instance in the cache. If an existing instance is found, it will be returned without further ado.

Otherwise, a new metadata instance is created. If the factory was configured with a loader, the metadata is passed to the {@link \Symfony\Component\Serializer\Mapping\Loader\LoaderInterface::loadClassMetadata()} method for further configuration. At last, the new object is returned.

Parameters

string|object $value

Return Value

ClassMetadataInterface

Exceptions

InvalidArgumentException

bool hasMetadataFor(mixed $value)

Checks if class has metadata.

Parameters

mixed $value

Return Value

bool