Как исправить Symfony 3.4 @Route и @Method устарели
У меня есть проект Symfony 3.4, и я нашел следующие сообщения в профилировщике:
- Начиная с версии 5.2, примечание "Sensio\Bundle\FrameworkExtraBundle\Configuration\Route" устарело. Используйте "Symfony\Component\Routing\Annotation\Route"
- Аннотация "Sensio\Bundle\FrameworkExtraBundle\Configuration\Method" устарела с версии 5.2. Используйте "Symfony\Component\Routing\Annotation\Route"
- Конфигурация "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