为什么我会看到 CheckMX 已弃用警告?

Mar*_*ynW 2 symfony

我在 symfony 的分析器中看到以下警告:

用户已弃用:自 Symfony 4.2 起不推荐使用“checkMX”选项。

我想知道如何摆脱警告,谢谢。

我不清楚这是从哪里来的?在跟踪中,它指向我的存储库之一中的以下代码。

    /**
     * @return Ride[] Returns an array of Ride objects
     */
    public function findRidesByYear($year)
    {
        return $this->createQueryBuilder('r')
            ->andWhere('r.date >= :year')
            ->setParameter('year', $year)
            ->orderBy('r.date', 'ASC')
            ->getQuery()
            ->getResult()
        ;
    }
Run Code Online (Sandbox Code Playgroud)

具体来说,它突出显示了 getResult() 函数,如屏幕截图所示: 在此处输入图片说明

dbr*_*ann 6

这是在 Symfony 4.2 中引入的关于@Assert\Email验证的弃用,您可能正在使用。请参阅:https : //symfony.com/doc/current/reference/constraints/Email.html#checkmx

文档中给出了弃用的原因:

此选项不可靠,因为它取决于网络条件,并且某些有效服务器拒绝响应这些请求。

您可以通过从断言使用中删除选项来修复弃用,例如在您的实体中。相反,您可以使用strict使用不同库的选项egulias/email-validator对电子邮件地址执行严格验证。