Как документировать использование метода при вызове в абстрактной форме?

В устаревшем проекте я был сбит с толку, когда пытался найти применение метода в 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 метод вызовет warmupSomeEntity, или же warmupSomeOtherEntity чтобы я мог снова найти его использование, если захочу снова перейти к блоку вызывающего кода?

1 ответ

Решение

Ключевое слово @uses было тем, что я искал:

Отобразите ссылку на документацию для элемента и создайте обратную ссылку в документации другого элемента к этому

Он поддерживается PhpStorm, и вызывающий снова найден.

/**
 * @param string $warmer
 * @param array $objects
 * @uses warmupSomeEntity
 * @uses warmupSomeOtherEntity
 * @throws RuntimeException
 */
public function warmupType($warmer, array $objects)
{
 ...
}
Другие вопросы по тегам