Ostrzeżenia o wycofaniu po aktualizacji Symfony 4.3.9 do 4.4.1 / 5.0


12

Miałem wolną od rezygnacji instalację Symfony 3.4.9. Więc zaktualizowałem FW do 4.1.1. Teraz otrzymałem 9 ostrzeżeń o wycofaniu pochodzących z bibliotek dostawców:

  • Tworzenie Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy bez uświadamiania numeru jest przestarzałe i zostanie usunięte w Doctrine ORM 3.0.
  • Klasa „Symfony \ Component \ HttpKernel \ EventListener \ ExceptionListener” jest przestarzała, ponieważ Symfony 4.4 używa zamiast tego „ErrorListener”.
  • Klasa Doctrine \ Common \ Persistence \ Mapping \ AbstractClassMetadataFactory jest przestarzała od doktryny / trwałości 1.3 i zostanie usunięta w wersji 2.0. Zamiast tego użyj \ Doctrine \ Persistence \ Mapping \ AbstractClassMetadataFactory.
  • Klasa Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService jest przestarzała od doktryny / trwałości 1.3 i zostanie usunięta w wersji 2.0. Zamiast tego użyj opcji \ Doctrine \ Persistence \ Mapping \ RuntimeReflectionService.
  • Klasa Doctrine \ Common \ Persistence \ ObjectManager jest przestarzała od doktryny / trwałości 1.3 i zostanie usunięta w wersji 2.0. Zamiast tego należy użyć \ Doctrine \ Persistence \ ObjectManager.
  • Klasa Doctrine \ Common \ Persistence \ ObjectRepository jest przestarzała od momentu doktryny / trwałości 1.3 i zostanie usunięta w wersji 2.0. Zamiast tego użyj \ Doctrine \ Persistence \ ObjectRepository.
  • Klasa Doctrine \ Common \ PropertyChangedListener jest przestarzała od doktryny / trwałości 1.3 i zostanie usunięta w wersji 2.0. Zamiast tego użyj \ Doctrine \ Persistence \ PropertyChangedListener.
  • Klucz konfiguracyjny „twig.exception_controller” został wycofany w Symfony 4.4, ustaw go na „null” i zamiast tego użyj klucza konfiguracyjnego „framework.error_controller”. (x2)

Czy to „normalne” lub występują problemy w moim pliku composer.json? Sprawdziłem dwukrotnie i nie widzę żadnej zależności, która ma jakieś „ustalone” ustawienie.

Nawet usunąłem pełny folder dostawcy i pobrałem ponownie, ponieważ myślałem, że mogą pozostać jakieś „śmieci”, z takim samym skutkiem.

Mój plik composer.json:

{
    "type" : "project",
    "license" : "proprietary",
    "require" : {
        "php" : "^7.1.3",
        "ext-ctype" : "*",
        "ext-iconv" : "*",
        "sensio/framework-extra-bundle" : "^5.2",
        "symfony/apache-pack" : "^1.0",
        "symfony/asset" : "4.4.*",
        "symfony/console" : "4.4.*",
        "symfony/dotenv" : "4.4.*",
        "symfony/expression-language" : "4.4.*",
        "symfony/flex" : "^1.1",
        "symfony/form" : "4.4.*",
        "symfony/framework-bundle" : "4.4.*",
        "symfony/monolog-bundle" : "^3.1",
        "symfony/orm-pack" : "*",
        "symfony/process" : "4.4.*",
        "symfony/security-bundle" : "4.4.*",
        "symfony/serializer-pack" : "*",
        "symfony/swiftmailer-bundle" : "^3.1",
        "symfony/translation" : "4.4.*",
        "symfony/twig-bundle" : "4.4.*",
        "symfony/validator" : "4.4.*",
        "symfony/web-link" : "4.4.*",
        "symfony/webpack-encore-bundle" : "^1.1",
        "symfony/yaml" : "4.4.*"
    },
    "require-dev" : {
        "symfony/debug-pack" : "*",
        "symfony/maker-bundle" : "^1.0",
        "symfony/profiler-pack" : "^1.0",
        "symfony/test-pack" : "*",
        "symfony/web-server-bundle" : "4.4.*"
    },
    "config" : {
        "preferred-install" : {
            "*" : "dist"
        },
        "sort-packages" : true,
        "secure-http" : false
    },
    "autoload" : {
        "psr-4" : {
            "App\\" : "src/"
        }
    },
    "autoload-dev" : {
        "psr-4" : {
            "App\\Tests\\" : "tests/"
        },
        "classmap" : [
            "vendor/phpasn1"
        ]
    },
    "replace" : {
        "paragonie/random_compat" : "2.*",
        "symfony/polyfill-ctype" : "*",
        "symfony/polyfill-iconv" : "*",
        "symfony/polyfill-php71" : "*",
        "symfony/polyfill-php70" : "*",
        "symfony/polyfill-php56" : "*"
    },
    "conflict" : {
        "symfony/symfony" : "*"
    },
    "extra" : {
        "symfony" : {
            "allow-contrib" : false,
            "require" : "4.4.*"
        }
    }
}

EDYTOWAĆ

Sprawdziłem zainstalowane pakiety composer showi przekonałem się, że co najmniej 2 z zainstalowanych pakietów są zgodne z powyższą listą wycofań:

(...)
doctrine/orm                        v2.7.0  Object-Relational-Mapper for PHP
doctrine/persistence                1.3.3   The Doctrine Persistence project is a set of shared...
(...)

Sprawdziłem więc dostępne wersje tych pakietów composer info doctrine/persistence --alli zobaczyłem, że zainstalowała najnowszą wersję inną niż dev:

name     : doctrine/persistence
descrip. : The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.
keywords : mapper, object, odm, orm, persistence
versions : dev-master, 2.0.x-dev, 1.3.x-dev, * 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.x-dev, 1.2.0, 1.1.x-dev, 1.1.1, v1.1.0, 1.0.x-dev, v1.0.1, v1.0.0, dev-1.3.x-merge-up-into-master_5df35c38f354a9.94042071, dev-1.3.x-merge-up-into-master_5df33dc289ea03.65167777, dev-1.3.x-merge-up-into-master_5df29d964b0aa5.96685696, dev-github-funding, dev-master-old
(...)

To samo dotyczy doctrine-orm.

Wydaje się, że witryna GitHub dla doktryny / trwałości potwierdza to: https://github.com/doctrine/persistence/releases

To prowadzi mnie do wniosku, że jest to naprawdę normalne zachowanie i że w przyszłości, gdy pakiety te zostaną zaktualizowane, komunikaty o wycofaniu znikną.

Uwaga na temat rozwiązania

Jak każdy, kto przeczytał zaakceptowaną odpowiedź, zauważy, nadal istnieje 5 wycofań, których nie można jeszcze rozwiązać. Dołączę odpowiedź ASA. Jest na to poprawka. Jeśli ktoś zauważy to przede mną, proszę dodać odpowiedź na to pytanie. Dzięki.


Jeśli pochodzą one z bibliotek dostawców, a nie z Twojego kodu - to normalne. Należy zaktualizować dostawców, o których mowa, i to powinno to naprawić. Pamiętaj, że nie wszystkie biblioteki są na bieżąco z najnowszymi wersjami symfony i doktryn, więc aktualizacja może nie rozwiązać tego od razu.
tftd

Problemem jest ... którzy dostawcy? istnieje wiele pakietów doktryn i gałązek. AFAIU to oni są zaangażowani. Które wybrać w Json? Właśnie sprawdziłem ... tylko pakiet doktrynalny jest 33.
Nelson Teixeira,

Najłatwiejszym sposobem, aby sobie z tym poradzić, jest rozpoczęcie projektu w trybie deweloperskim i przeglądanie niektórych stron w przeglądarce. Pasek narzędzi debugowania wyświetli powiadomienia o wycofaniu. Możesz użyć tracełączy, aby zobaczyć ślad stosu i wskazać punkt skąd pochodzą. :)
tftd,

2
Sytuacja zmieniła się między 4.3 a 4.4. Pamiętaj, że musisz tylko wyczyścić deprecjację przed przejściem do 5.x. Więc po prostu przebij i napraw jak każdy inny, chociaż pierwszy z nich jest w rzeczywistości problemem Doktryny i można go naprawić za pomocą: stackoverflow.com/questions/58975182/...
Cerad

1
Proszę nie usuwać pytania. Nawet jeśli nie ma nic do zrobienia, oprócz czekania na aktualizacje dostawcy. Dotarłem tutaj przez wycofanie się z Doktryny (około ObjectManager) i pomogło mi to zobaczyć, co się dzieje.
k00ni

Odpowiedzi:


3

Ok, udało mi się naprawić następujące. Możesz to edytować, jeśli ktoś wie, jak to naprawić.

1.) Od Cerada w komentarzach: Wycofanie: Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy bez uświadamiania numeru jest przestarzałe

9.) Opcja konfiguracji Twig twig.exception_controller: https://github.com/symfony/symfony/blob/master/UPGRADE-4.4.md#twigbundle

2.) ExceptionListener wyczyścił się, kiedy naprawiłem powyższe dwa elementy, co sprowadziło mnie do zaledwie 5 wycofań


Wreszcie 5 pozostałych, wydaje się, że są znane i zostaną naprawione w ten sposób: Przestarzałe ostrzeżenia o klasach w konsoli Symfony 5.0.1 w systemie Windows


1
Doskonały Zmniejszyłem również liczbę zwolnień do 5. Dziękuję.
Nelson Teixeira,

3

Jeśli chcesz pozbyć się Doctrine\Common\Persistence\*odpisów amortyzacyjnych, dopóki wszystko nie jest ustalona, można dodać "conflict": { "doctrine/persistence": "1.3.*" }do swojej composer.jsoni pozostać przy wersji 1.2. * Od doktryny / wytrwałości .


2
Dzięki za informacje, ale raczej mam wiadomości, bo pewnie zapomnę, że muszę to naprawić. :)
Nelson Teixeira,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.