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();
    }
}
上一篇:PhpStorm没有收到xdebug连接:PhpStorm事件日志:无法计算表达式’isset($_ SERVER [‘PHP_IDE_CONFIG’])’


下一篇:WordPress编码标准– phpcs警告