ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-05 14:32:06  阅读:272  来源: 互联网

标签:variable-names php phpstorm phpdoc


我目前正在尝试删除我的项目中的所有错误和警告,我的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();
    }
}

标签:variable-names,php,phpstorm,phpdoc
来源: https://codeday.me/bug/20191005/1856423.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有