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