doctrine-extensions / DoctrineExtensions

Doctrine2 behavioral extensions, Translatable, Sluggable, Tree-NestedSet, Timestampable, Loggable, Sortable
MIT License
4.03k stars 1.27k forks source link

[Tree & Doctrine 3] Fatal Compile Error: Declaration of Gedmo\Tree\Entity\Repository\NestedTreeRepository::__call($method, $args) ... #2756

Closed pierrotevrard-hit closed 7 months ago

pierrotevrard-hit commented 7 months ago

Environment

Package

$ composer show --latest gedmo/doctrine-extensions
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.14.0
latest   : v3.14.0
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 3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf
dist     : [zip] https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf 3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf
path     : /app/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.14.0
wiki : https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc

autoload
psr-4
Gedmo\ => src/

requires
behat/transliterator ^1.2
doctrine/annotations ^1.13 || ^2.0
doctrine/collections ^1.2 || ^2.0
doctrine/common ^2.13 || ^3.0
doctrine/event-manager ^1.2 || ^2.0
doctrine/persistence ^2.2 || ^3.0
php ^7.4 || ^8.0
psr/cache ^1 || ^2 || ^3
symfony/cache ^5.4 || ^6.0 || ^7.0
symfony/deprecation-contracts ^2.1 || ^3.0

requires (dev)
doctrine/cache ^1.11 || ^2.0
doctrine/dbal ^3.2
doctrine/doctrine-bundle ^2.3
doctrine/mongodb-odm ^2.3
doctrine/orm ^2.14.0
friendsofphp/php-cs-fixer ^3.14.0
nesbot/carbon ^2.71 || 3.x-dev as 3.0
phpstan/phpstan ^1.10.2
phpstan/phpstan-doctrine ^1.0
phpstan/phpstan-phpunit ^1.0
phpunit/phpunit ^9.6
rector/rector ^0.18
symfony/console ^5.4 || ^6.0 || ^7.0
symfony/phpunit-bridge ^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/dbal <3.2
doctrine/mongodb-odm <2.3
doctrine/orm <2.14.0 || 2.16.0 || 2.16.1
sebastian/comparator <2.0

Doctrine packages

$ composer show --latest 'doctrine/*'
Color legend:
- patch or minor release available - update recommended
- major release available - update possible
- up to date version

Direct dependencies required in composer.json:
doctrine/dbal                       3.8.1  4.0.0  Powerful PHP database abstraction layer (DBAL) with many features for database ...
doctrine/doctrine-bundle            2.11.1 2.11.2 Symfony DoctrineBundle
doctrine/doctrine-migrations-bundle 3.3.0  3.3.0  Symfony DoctrineMigrationsBundle
doctrine/orm                        3.0.0  3.0.0  Object-Relational-Mapper for PHP

Transitive dependencies not required in composer.json:
doctrine/annotations                2.0.1  2.0.1  Docblock Annotations Parser
doctrine/cache                      2.2.0  2.2.0  PHP Doctrine Cache library is a popular cache implementation that supports many...
doctrine/collections                2.1.4  2.1.4  PHP Doctrine Collections library that adds additional functionality on top of P...
doctrine/common                     3.4.3  3.4.3  PHP Doctrine Common project is a library that provides additional functionality...
doctrine/deprecations               1.1.3  1.1.3  A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with ...
doctrine/event-manager              2.0.0  2.0.0  The Doctrine Event Manager is a simple PHP event system that was built to be us...
doctrine/inflector                  2.0.9  2.0.9  PHP Doctrine Inflector is a small library that can perform string manipulations...
doctrine/instantiator               2.0.0  2.0.0  A small, lightweight utility to instantiate objects in PHP without invoking the...
doctrine/lexer                      3.0.1  3.0.1  PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Desce...
doctrine/migrations                 3.7.2  3.7.2  PHP Doctrine Migrations project offer additional functionality on top of the da...
doctrine/persistence                3.2.0  3.2.0  The Doctrine Persistence project is a set of shared interfaces and functionalit...
doctrine/sql-formatter              1.1.3  1.1.3  a PHP SQL highlighting library

PHP version

$ php -v
PHP 8.3.2 (cli) (built: Jan 27 2024 04:34:00) (ZTS)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies
    with Xdebug v3.3.1, Copyright (c) 2002-2023, by Derick Rethans

Subject

Following instructions here https://github.com/doctrine-extensions/DoctrineExtensions/blob/main/doc/symfony.md, I end up to Fatal Compile Error below when I try to generate a Doctrine Migration (bin/console doctrine:migrations:diff):

Fatal Compile Error: Declaration of Gedmo\Tree\Entity\Repository\NestedTreeRepository::call($method, $args) must be compatible with Doctrine\ORM\EntityRepository::call(string $method, array $arguments): mixed

Steps to reproduce

Expected results

Generated new migration class to "/app/migrations/Version20240207115401.php"

To run just this migration for testing purposes, you can use migrations:execute --up 'DoctrineMigrations\Version20240207115401'

To revert the migration you can use migrations:execute --down 'DoctrineMigrations\Version20240207115401'

Actual results

Compile Error: Declaration of Gedmo\Tree\Entity\Repository\NestedTreeRepository::call($method, $args) must be compatible with
Doctrine\ORM\EntityRepository::
call(string $method, array $arguments): mixed

pierrotevrard-hit commented 7 months ago

Found that point: https://github.com/doctrine-extensions/DoctrineExtensions/issues/2708

franmomu commented 7 months ago

This package is not yet compatible with ORM 3.0, the latest release adds a conflict with that version, please follow https://github.com/doctrine-extensions/DoctrineExtensions/issues/2708 (as you noticed) for updates.