The Doctrine\ODM\MongoDB\Proxy\Resolver\ClassNameResolver interface has been
deprecated in favor of the Doctrine\Persistence\Mapping\ProxyClassNameResolver
interface.
The getClassNameResolver method in DocumentManager is deprecated and should
not be used. To retrieve the mapped class name for any object or class string,
fetch metadata for the class and read the class using $metadata->getName().
The metadata layer is aware of these proxy namespace changes and how to resolve
them, so users should always go through the metadata layer to retrieve mapped
class names.
In order to make annotations usable as PHP 8 attributes, their classes no
longer extend Doctrine\Common\Annotations\Annotation class and are now using
@NamedArgumentConstructor which provides more type safety.
This does not apply to @Indexes which is deprecated and can't be used as
Attribute. Use @Index and @UniqueIndex instead.
@Inheritance annotation has been removed as it was never used.
Document namespace aliases are deprecated, use the magic ::class constant to abbreviate full class names in DocumentManager and DocumentRepository.
- $documentManager->find('MyBundle:User', $id);
+ $documentManager->find(User::class, $id);