Netbeans PHPDoc локальная переменная не работает
Я пытаюсь документировать свой код чаще, и сейчас я пишу класс и хочу, чтобы он был полностью задокументирован. Однако по какой-то странной причине документация по локальным переменным (конечно, с PHPDoc) не работает..
Я получил это:
/**
* A function for question
* @param string $theVar The var to put in local var $aVar.
*/
public function theFunction($theVar) {
/** @var string This is new local var, should have documentation but hasn't... */
$aVar = $theVar;
}
Поэтому, когда я набираю 'the' и нажимаю пробел, и перехожу к своей функции в Netbeans, она показывает документацию по функции.
Но когда я набираю "aVa" внутри функции, нажимаю пробел и перехожу к моей переменной, появляется сообщение "PHPDoc not found".
Я знаю, что в этом случае это не будет проблемой, но в большой функции с большим количеством кода это может быть полезно. Однако по какой-то причине это не работает, и я понятия не имею, почему.
3 ответа
Я не думаю, что вы можете документировать внутренние переменные, как это. Вы можете документировать class
объявления переменных и параметров функций, но в документации ничего не сказано о локальной переменной функции
Вы можете использовать тег @var для документирования "Типа" свойств, иногда называемых переменными класса. Примеры
class Foo
{
/** @var string|null Should contain a description */
protected $description = null;
}
Даже составные утверждения могут быть задокументированы:
class Foo
{
/**
* @var string $name Should contain a description
* @var string $description Should contain a description
*/
protected $name, $description;
}
Это должно работать внутри локальной переменной. Просто изучаю PHPDoc, но я использую его в PHPStorm, и он работает до тех пор, пока вы явно не включите имя локальной переменной в документацию.
вставьте это в вашу IDE:
<?php
/** @var int This documentation is for $aVar. */
$aVar = 5;
/** @var int This documentation is for $bVar. */
$bVar = 10;
if ($bVar !== $aVar) {
echo "False";
}
Это другой твик для Netbeans. Вы должны удалить один *
,
/* @var int This documentation is for $bVar. */
$bVar = 10;
В версии Netbeans 8.2 у вас есть шаблон: vdoc для быстрого выполнения:
/* @var $$${VARIABLE variableFromNextAssignmentName default="variable"} ${VAR_TYPE variableFromNextAssignmentType default="ClassName"} */