Как документировать использование метода при вызове в абстрактной форме?
В устаревшем проекте я был сбит с толку, когда пытался найти применение метода в 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)
{
...
}