微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP:调用变量函数名(函数指针);如何告诉IDE我的函数被调用?

我目前正在尝试删除我的项目中的所有错误和警告,我的PHPStorm中的检查工具给了我.

我遇到一个片段PHPStorm说“未使用的私有方法_xxx”虽然它实际上使用,但以动态的方式.这是一个简化的代码段:

<?PHP
class A
{
    private function _iAmUsed()
    {
        //Do Stuff...
    }

    public function run($whoAreYou)
    {
        $methodName = '_iAm' . $whoAreYou;
        if (method_exists($this, $methodName)) {
            $this->$methodName();
        }
    }
}

$a = new A();
$a->run('Used');
?>

在这个片段中,PHPStorm将告诉我“未使用的私有方法_iAmUsed”,而事实上,它被用于…
我怎么能通过添加PHPDocs之类的东西,让我的IDE理解我的方法实际上是用的?

请注意,我给我的“运行”调用,一个静态字符串,但我们可以想象这个:

<?PHP
$a->run($_POST['whoYouAre']); //$_POST['whoYouAre'] == 'Used'
?>

非常感谢!

解决方法:

PHPdoc中使用的方法标记为@used

/**
* @uses  _iAmUsed()
* @param string $whoAreYou
*/ 
public function run($whoAreYou)
{
    $methodName = '_iAm' . $whoAreYou;
    if (method_exists($this, $methodName)) {
        $this->$methodName();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐