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

标签 php phpstorm phpdoc variable-names

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

我遇到一个片段 PHPStorm 说“未使用的私有(private)方法 _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 会告诉我“未使用的私有(private)方法 _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();
    }
}

关于PHP:变量函数名(函数指针)调用;如何告诉 IDE 我的函数被调用了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813465/

相关文章:

php - 如何在 PHPDoc 中弃用 PHP 的魔法属性?

php - 使用php从mysql打印数据

php - 在WAMP服务器中将存储引擎从InnoDB更改为MYISAM

php - 在运行时在 Codeigniter 中更改数据库连接

php - Phan 给出内置 JetBrains PhpStorm 注释的问题

javascript - 配置 WebStorm/PhpStorm 将 .ts 文件编译为 .js 到 "js"文件夹

php - 按日期对数组排序

phpstorm - 如何使PhpStorm自动突出显示选择

php - 如何从CSS文件生成文档?

php - 最佳实践 : Use of @throws in php-doc, 以及如何处理它