From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/doctrine/persistence/UPGRADE.md | 154 +++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 vendor/doctrine/persistence/UPGRADE.md (limited to 'vendor/doctrine/persistence/UPGRADE.md') diff --git a/vendor/doctrine/persistence/UPGRADE.md b/vendor/doctrine/persistence/UPGRADE.md new file mode 100644 index 0000000..d7f5b04 --- /dev/null +++ b/vendor/doctrine/persistence/UPGRADE.md @@ -0,0 +1,154 @@ +Note about upgrading: Doctrine uses static and runtime mechanisms to raise +awareness about deprecated code. + +- Use of `@deprecated` docblock that is detected by IDEs (like PHPStorm) or + Static Analysis tools (like Psalm, phpstan) +- Use of our low-overhead runtime deprecation API, details: + https://github.com/doctrine/deprecations/ + +# Upgrade to 3.3 + +## Added method `ObjectManager::isUninitializedObject()` + +Classes implementing `Doctrine\Persistence\ObjectManager` should implement the new +method. This method will be added to the interface in 4.0. + +# Upgrade to 3.1 + +## Deprecated `RuntimePublicReflectionProperty` + +Use `RuntimeReflectionProperty` instead. + +# Upgrade to 3.0 + +## Removed `OnClearEventArgs::clearsAllEntities()` and `OnClearEventArgs::getEntityClass()` + +These methods only make sense when partially clearing the object manager, which +is no longer possible. +The second argument of the constructor of `OnClearEventArgs` is removed as well. + +## BC Break: removed `ObjectManagerAware` + +Implement active record style functionality directly in your application, by +using a `postLoad` event. + +## BC Break: removed `AnnotationDriver` + +Use `ColocatedMappingDriver` instead. + +## BC Break: Removed `MappingException::pathRequired()` + +Use `MappingException::pathRequiredForDriver()` instead. + +## BC Break: removed `LifecycleEventArgs::getEntity()` + +Use `LifecycleEventArgs::getObject()` instead. + +## BC Break: removed support for short namespace aliases + +- `AbstractClassMetadataFactory::getFqcnFromAlias()` is removed. +- `ClassMetadataFactory` methods now require their `$className` argument to be an +actual FQCN. + +## BC Break: removed `ObjectManager::merge()` + +`ObjectManagerDecorator::merge()` is removed without replacement. + +## BC Break: removed support for `doctrine/cache` + +Removed support for using doctrine/cache for metadata caching. The +`setCacheDriver` and `getCacheDriver` methods have been removed from +`Doctrine\Persistence\Mapping\AbstractMetadata`. Please use `getCache` and +`setCache` with a PSR-6 implementation instead. + +## BC Break: changed signatures + +`$objectName` has been dropped from the signature of `ObjectManager::clear()`. + +```diff +- public function clear($objectName = null) ++ public function clear(): void +``` + +Also, native parameter type declarations have been added on all public APIs. +Native return type declarations have not been added so that it is possible to +implement types compatible with both 2.x and 3.x. + +## BC Break: Removed `PersistentObject` + +Please implement this functionality directly in your application if you want +ActiveRecord style functionality. + +# Upgrade to 2.5 + +## Deprecated `OnClearEventArgs::clearsAllEntities()` and `OnClearEventArgs::getEntityClass()` + +These methods only make sense when partially clearing the object manager, which +is deprecated. +Passing a second argument to the constructor of `OnClearEventArgs` is +deprecated as well. + +## Deprecated `ObjectManagerAware` + +Along with deprecating `PersistentObject`, deprecating `ObjectManagerAware` +means deprecating support for active record, which already came with a word of +warning. Please implement this directly in your application with a `postLoad` +event if you need active record style functionality. + +## Deprecated `MappingException::pathRequired()` + +`MappingException::pathRequiredForDriver()` should be used instead. + +# Upgrade to 2.4 + +## Deprecated `AnnotationDriver` + +Since attributes were introduced in PHP 8.0, annotations are deprecated. +`AnnotationDriver` is an abstract class that is used when implementing concrete +annotation drivers in dependent packages. It is deprecated in favor of using +`ColocatedMappingDriver` to implement both annotation and attribute based +drivers. This will involve implementing `isTransient()` as well as +`__construct()` and `getReader()` to retain backward compatibility. + +# Upgrade to 2.3 + +## Deprecated using short namespace alias syntax in favor of `::class` syntax. + +Before: + +```php +$objectManager->find('MyPackage:MyClass', $id); +$objectManager->createQuery('SELECT u FROM MyPackage:MyClass'); +``` + +After: + +```php +$objectManager->find(MyClass::class, $id); +$objectManager->createQuery('SELECT u FROM '. MyClass::class); +``` + +# Upgrade to 2.2 + +## Deprecated `doctrine/cache` usage for metadata caching + +The `setCacheDriver` and `getCacheDriver` methods in +`Doctrine\Persistence\Mapping\AbstractMetadata` have been deprecated. Please +use `getCache` and `setCache` with a PSR-6 implementation instead. Note that +even after switching to PSR-6, `getCacheDriver` will return a cache instance +that wraps the PSR-6 cache. Note that if you use a custom implementation of +doctrine/cache, the library may not be able to provide a forward compatibility +layer. The cache implementation MUST extend the +`Doctrine\Common\Cache\CacheProvider` class. + +# Upgrade to 1.2 + +## Deprecated `ObjectManager::merge()` and `ObjectManager::detach()` + +Please handle merge operations in your application, and use +`ObjectManager::clear()` instead. + +## Deprecated `PersistentObject` + +Please implement this functionality directly in your application if you want +ActiveRecord style functionality. -- cgit v1.2.3