Open jleehr opened 2 weeks ago
If I'm following the ORM's deprecation correctly, there's two changes needed in this package.
The first one is to conditionally extend from the new SqlOutputWalker
when it exists, which provides a default implementation of that new OutputWalker
interface:
namespace Gedmo\Tool\ORM\Walker;
use Doctrine\ORM\Query\SqlOutputWalker;
use Doctrine\ORM\Query\SqlWalker;
if (class_exists(SqlOutputWalker::class)) {
abstract class CompatSqlOutputWalker extends SqlOutputWalker {}
} else {
abstract class CompatSqlOutputWalker extends SqlWalker {}
}
The second change, which seems more involved, is refactoring the way SELECT statements are provided (this part only affects the translatable extension's walker as the soft-deleteable extension's walker only handles DELETE statements), and doing that in a B/C manner.
Environment
Package
show
``` name : gedmo/doctrine-extensions descrip. : Doctrine behavioral extensions keywords : Blameable, behaviors, doctrine, extensions, gedmo, loggable, nestedset, odm, orm, sluggable, sortable, timestampable, translatable, tree, uploadable versions : * v3.17.1 released : 2024-10-07, 1 month ago latest : v3.17.1 released 2024-10-07, 1 month ago type : library license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText homepage : http://gediminasm.org/ source : [git] https://github.com/doctrine-extensions/DoctrineExtensions.git eabb45018c5a4362b46c5beae3881261da89f900 dist : [zip] https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/eabb45018c5a4362b46c5beae3881261da89f900 eabb45018c5a4362b46c5beae3881261da89f900 path : /Users/jle/Documents/WebDev/services/vendor/gedmo/doctrine-extensions names : gedmo/doctrine-extensions support email : gediminas.morkevicius@gmail.com issues : https://github.com/doctrine-extensions/DoctrineExtensions/issues source : https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.17.1 wiki : https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc autoload psr-4 Gedmo\ => src/ requires behat/transliterator ^1.2 doctrine/collections ^1.2 || ^2.0 doctrine/common ^2.13 || ^3.0 doctrine/deprecations ^1.0 doctrine/event-manager ^1.2 || ^2.0 doctrine/persistence ^2.2 || ^3.0 php ^7.4 || ^8.0 psr/cache ^1 || ^2 || ^3 psr/clock ^1 symfony/cache ^5.4 || ^6.0 || ^7.0 requires (dev) doctrine/annotations ^1.13 || ^2.0 doctrine/cache ^1.11 || ^2.0 doctrine/dbal ^3.7 || ^4.0 doctrine/doctrine-bundle ^2.3 doctrine/mongodb-odm ^2.3 doctrine/orm ^2.14.0 || ^3.0 friendsofphp/php-cs-fixer ^3.14.0 nesbot/carbon ^2.71 || ^3.0 phpstan/phpstan ^1.11 phpstan/phpstan-doctrine ^1.4 phpstan/phpstan-phpunit ^1.4 phpunit/phpunit ^9.6 rector/rector ^1.1 symfony/console ^5.4 || ^6.0 || ^7.0 symfony/doctrine-bridge ^5.4 || ^6.0 || ^7.0 symfony/phpunit-bridge ^6.0 || ^7.0 symfony/uid ^5.4 || ^6.0 || ^7.0 symfony/yaml ^5.4 || ^6.0 || ^7.0 suggests doctrine/mongodb-odm to use the extensions with the MongoDB ODM doctrine/orm to use the extensions with the ORM conflicts doctrine/annotations <1.13 || >=3.0 doctrine/dbal <3.7 || >=5.0 doctrine/mongodb-odm <2.3 || >=3.0 doctrine/orm <2.14.0 || 2.16.0 || 2.16.1 || >=4.0 ```
Doctrine packages
show
``` Direct dependencies required in composer.json: doctrine/dbal 3.9.3 4.2.1 Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management. doctrine/doctrine-bundle 2.13.0 2.13.0 Symfony DoctrineBundle doctrine/doctrine-fixtures-bundle 3.6.1 3.6.1 Symfony DoctrineFixturesBundle doctrine/doctrine-migrations-bundle 3.3.1 3.3.1 Symfony DoctrineMigrationsBundle doctrine/orm 2.20.0 3.3.0 Object-Relational-Mapper for PHP Transitive dependencies not required in composer.json: doctrine/cache 2.2.0 2.2.0 PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others. doctrine/collections 2.2.2 2.2.2 PHP Doctrine Collections library that adds additional functionality on top of PHP arrays. doctrine/common 3.4.5 3.4.5 PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection sup... doctrine/data-fixtures 1.8.0 2.0.0 Data Fixtures for all Doctrine Object Managers doctrine/deprecations 1.1.3 1.1.3 A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages. doctrine/event-manager 2.0.1 2.0.1 The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects. doctrine/inflector 2.0.10 2.0.10 PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words. doctrine/instantiator 2.0.0 2.0.0 A small, lightweight utility to instantiate objects in PHP without invoking their constructors doctrine/lexer 3.0.1 3.0.1 PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers. doctrine/migrations 3.8.2 3.8.2 PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema a... doctrine/persistence 3.4.0 4.0.0 The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share. doctrine/sql-formatter 1.5.1 1.5.1 a PHP SQL highlighting library ```
PHP version
Subject
Deprecation notice: