如何在抽象形式中调用方法时记录方法的用法?

时间:2015-02-04 18:14:25

标签: php oop phpstorm phpdoc

在遗留项目中,当我尝试在phpstorm中找到方法的使用而没有成功时,我感到很困惑。

/**
 * @param SomeEntity[] $someEntity
 *
 * @return bool
 */
protected function warmupSomeEntity(array $brandUniverses)
{
     // I want to find this method's usage

}

进一步调试,我发现通过动态类方法调用以相当抽象的方式动态调用该方法:

/**
 * @param string $warmer
 * @param array $objects
 *
 * @throws RuntimeException
 */
public function warmupType($warmer, array $objects)
{
    $method = "warmup$warmer";
    if (method_exists($this, $
        $this->{$method}($objects);
    } else {
        throw new RuntimeException("There is no warmer '$warmer'");
    }
}

是否有phpdoc语法,我可以记录warmUpType方法将调用warmupSomeEntitywarmupSomeOtherEntity,以便我可以再次查找其用法,如果我想跳转到调用代码块再次?

1 个答案:

答案 0 :(得分:1)

@uses keyword正是我所寻找的:

  

显示元素文档的链接,并在另一个元素的文档中创建一个反向链接

PhpStorm支持它,再次找到来电者。

/**
 * @param string $warmer
 * @param array $objects
 * @uses warmupSomeEntity
 * @uses warmupSomeOtherEntity
 * @throws RuntimeException
 */
public function warmupType($warmer, array $objects)
{
 ...
}