Как исправить Symfony 3.4 @Route и @Method устарели

У меня есть проект Symfony 3.4, и я нашел следующие сообщения в профилировщике:

  1. Начиная с версии 5.2, примечание "Sensio\Bundle\FrameworkExtraBundle\Configuration\Route" устарело. Используйте "Symfony\Component\Routing\Annotation\Route"
  2. Аннотация "Sensio\Bundle\FrameworkExtraBundle\Configuration\Method" устарела с версии 5.2. Используйте "Symfony\Component\Routing\Annotation\Route"
  3. Конфигурация "sensio_framework_extra.router.annotations" устарела с версии 5.2. Установите значение false и используйте "Symfony\Component\Routing\Annotation\Route"

Я потратил некоторое время на поиск решения, но не нашел ничего действительно полезного. Некоторые выводы здесь или здесь.

3 ответа

Заменить это:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;

class UserController
    {
    /**
     * @Route("/users")
     * @Method("GET")
     */
    public action index()
        {}

С этим:

use Symfony\Component\Routing\Annotation\Route;
class UserController
    {
    /**
     * @Route(path="/users", methods={"GET"})
     */

H / T этот парень -> https://medium.com/@nebkam/symfony-deprecated-route-and-method-annotations-4d5e1d34556a

Вот решение, которое я нашел. Этот пост мне очень помог с твиком в нет. 3 В № 3 вместо добавления config/packages/framework_extra.yaml я добавил этот параметр в мой config.yml.

      Sensio\Bundle\FrameworkExtraBundle\Configuration\Route
Sensio\Bundle\FrameworkExtraBundle\Configuration\Method

устаревший источник

      Use Symfony\Component\Routing\Annotation\Route

Использование аннотации ядра Symfony

Другие вопросы по тегам