如何清除沉默错误是magento 2中的清除错误?

我已经在magento 2.3中为SSO编写了代码,并为处理来自不同IDP(如okta,keycloak)的响应而编写了以下代码:

 if(!(@$xpath->query('/saml2p:Response',$xml))) {

            $status = SAML2Utilities::xpQuery($xml,'./samlp:Status/samlp:StatusCode');   
}
        else{

           $status = SAML2Utilities::xpQuery($xml,'./saml2p:Status/saml2p:StatusCode');   
}

我的代码运行正常,可以通过不同的IDP登录,但是当我检查了magento 2的php编码标准时,出现以下错误:  '不鼓励消除错误;找到:@ $ xpath-> query ...' 该如何解决?

wqh467212692 回答:如何清除沉默错误是magento 2中的清除错误?

在PHP中,可以使用@运算符消除错误。在您的代码上,您拥有:

if(!(@$xpath->query('/saml2p:Response',$xml))) {

因此您在@之前有一个$xpath->query。如果删除@,则在检查编码标准时将不会显示错误。

有关隐藏错误的更多信息,您可以检查PHP Documentation

更新:

删除@可能会导致问题,就像发生错误一样,它将停止代码执行。您要么需要通过try catch处理错误,要么进行检查,例如检查变量是否为null,为空等。

本文链接:https://www.f2er.com/3162264.html

大家都在问