symfony 如何修复避免父类中受保护方法的未使用参数PHPMD

k4aesqcs  于 2023-04-21  发布在  PHP
关注(0)|答案(1)|浏览(114)

我有两个类:

class EntityVoter
{
    protected function canPutToBlockChain($entity, $viewer)
    {
        return false;
    }
}
class VerificationVoter extends EntityVoter
{
    public function canPutToBlockChain($entity, $viewer)
    {
        return $this->canShare($entity, $viewer);
    }
}

PHPMD扫描EntityVoter类并抛出:避免使用未使用的参数,如'$entity','$viewer'。
我的解决方案是创建一个接口:

interface EntityVoterInterface 
{
     function canPutToBlockChain($entity, $viewer);
}

然后添加@inhericDoc注解:

class EntityVoter implements EntityVoterInterface
{
    /**
     * @inheritDoc
     */
    protected function canPutToBlockChain($entity, $viewer)
    {
        return false;
    }
}

有没有更好的解决办法?

irlmq6kh

irlmq6kh1#

另一个选项是在方法上隐藏规则的PHPMD警告:

class EntityVoter
{
    /**
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     */
    protected function canPutToBlockChain($entity, $viewer)
    {
        return false;
    }
}

有关详细信息,请参阅PHPMD Suppressing Warnings @ PHP Mess Detector documentation
我不会使用通配符排除,如@SuppressWarnings("unused"),但有针对性的排除是可以的警告链接到第三方代码。

相关问题