*/
class LazyLoadingMetadataFactory implements MetadataFactoryInterface
{
- /**
- * The loader for loading the class metadata.
- *
- * @var LoaderInterface|null
- */
protected $loader;
-
- /**
- * The cache for caching class metadata.
- *
- * @var CacheInterface|null
- */
protected $cache;
/**
return $this->loadedClasses[$class];
}
+ if (!class_exists($class) && !interface_exists($class, false)) {
+ throw new NoSuchMetadataException(sprintf('The class or interface "%s" does not exist.', $class));
+ }
+
if (null !== $this->cache && false !== ($metadata = $this->cache->read($class))) {
// Include constraints from the parent class
$this->mergeConstraints($metadata);
return $this->loadedClasses[$class] = $metadata;
}
- if (!class_exists($class) && !interface_exists($class)) {
- throw new NoSuchMetadataException(sprintf('The class or interface "%s" does not exist.', $class));
- }
-
$metadata = new ClassMetadata($class);
if (null !== $this->loader) {
$class = ltrim(is_object($value) ? get_class($value) : $value, '\\');
- if (class_exists($class) || interface_exists($class)) {
- return true;
- }
-
- return false;
+ return class_exists($class) || interface_exists($class, false);
}
}