PHP:调用变量函数名称;如何告诉IDE我的函数被调用?

时间:2014-09-12 17:13:00

标签: php phpstorm phpdoc variable-names

我目前正在尝试删除项目中我的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理解我的方法实际上是用的?

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

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

非常感谢!

1 个答案:

答案 0 :(得分:7)

在方法上方添加noinspection注释:

/** @noinspection PhpUnusedPrivateMethodInspection */
private function _iAmUsed()
{
    //Do Stuff...
}

或者在运行代码分析后,您可以右键单击结果窗口中的任何检查,然后选择 Suppress for statement 让PHPStorm自己添加正确的注释。有关详细信息,请参阅http://www.jetbrains.com/phpstorm/webhelp/suppressing-inspections.html