如何修复Symfony 3.4 @Route和@Method弃用

时间:2018-07-04 10:52:24

标签: symfony routing symfony-3.4 deprecation-warning

我有一个Symfony 3.4项目,并且在事件探查器中发现以下消息:

    从版本5.2开始,不推荐使用
  1. “ Sensio \ Bundle \ FrameworkExtraBundle \ Configuration \ Route”注释。使用“ Symfony \ Component \ Routing \ Annotation \ Route”
  2. 从5.2版开始,不推荐使用
  3. “ Sensio \ Bundle \ FrameworkExtraBundle \ Configuration \ Method”注释。使用“ Symfony \ Component \ Routing \ Annotation \ Route”
  4. 从5.2版开始,不再使用
  5. “ sensio_framework_extra.router.annotations”配置。将其设置为false并使用“ Symfony \ Component \ Routing \ Annotation \ Route”

我花了一些时间寻找解决方案,但发现没有什么真正有用的。 一些发现herehere

3 个答案:

答案 0 :(得分:9)

这是我找到的解决方案。 This post的调整对我有很大帮助。 3 在没有3我没有将该配置添加到config.yml中,而是添加了config / packages / framework_extra.yaml。

答案 1 :(得分:1)

替换此:

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 this guy-> https://medium.com/@nebkam/symfony-deprecated-route-and-method-annotations-4d5e1d34556a

答案 2 :(得分:0)

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

已弃用 source

Use Symfony\Component\Routing\Annotation\Route

Symfony core annotation use