У меня есть этот код:
/** * Days to parse * @var int */ const DAYS_TO_PARSE = 10; ...
Я не думаю, что использование @var
является правильным для константы, и я не вижу никакого @constant
тега PHPDoc. Каков правильный способ сделать это?
Чтобы получить их в phpDoc, используйте:
@const THING
Обычная конструкция:
@const[ant] label [description]
@const
– неправильный ответ.
Единственным «официальным» местом, в котором он указан, является phpdoc.de, но спецификация там только когда-либо делала его в 1.0beta, а на сайте также были такие теги, как @brother
и @sister
, которые я никогда не видел раньше, поэтому общий доверие к этому сайту несколько уменьшилось 😉 Стандарт де-факто всегда был phpDoc.org.
Короче говоря, даже если какой-то неофициальный стандарт упоминает об этом, если генераторы документации не поддерживают его, то его не стоит использовать.
@var
верен на данный момент, и как только PSR (последняя ссылка в приведенном выше списке) выходит за рамки черновиков и является основой для того, что phpDocumentor, Doxygen, APIGen и другие понимают PHPDoc, тогда , @type
будет правильным, что является преемником @var
PHP-FIG предлагает использовать @var
для констант.
7,22.
@var
Вы можете использовать тег
@var
для документирования «Тип» следующих «Структурных элементов»:
- Константы, как классовые, так и глобальные
- свойства
- Переменные, как глобальные, так и локальные
Синтаксис
@var ["Type"] [element_name] [<description>]
Следующее предложение соответствует синтаксису официальной документации :
class Foo { const /** * @var string Should contain a description */ MY_CONST1 = "1", /** * @var string Should contain a description */ MY_CONST2 = "2"; }
Я использую Netbeans. Он будет анализировать phpDoc для глобальных и классовых констант при использовании этого формата:
/** @const Global constant description */ define('MY_CONST', 10); class MyClass { /** @const Class constant description */ const MY_CONST = 10; }