У мене є такий код:
/**
* Days to parse
* @var int
*/
const DAYS_TO_PARSE = 10;
...
Я не вважаю, що використання @var
правильне для константи, і я не бачу жодного @constant
тегу PHPDoc. Як правильно це зробити?
У мене є такий код:
/**
* Days to parse
* @var int
*/
const DAYS_TO_PARSE = 10;
...
Я не вважаю, що використання @var
правильне для константи, і я не бачу жодного @constant
тегу PHPDoc. Як правильно це зробити?
const FOO = 1;
працює поза контекстом класу.
Відповіді:
Щоб отримати їх у phpDoc, використовуйте:
@const THING
Звичайна конструкція:
@const[ant] label [description]
@const
!
@const
недійсний і не існує в PHPDocumentor. Використовуйте @var
.
PHP-FIG пропонує використовувати @var
для констант.
7.22.
@var
Ви можете використовувати
@var
тег для документування "Тип" наступних "Структурних елементів":
- Константи як класу, так і глобального масштабу
- Властивості
- Змінні, як глобального, так і локального масштабу
Синтаксис
@var ["Type"] [element_name] [<description>]
@const
буде правильно виводити мій опис, але @var
не буде виводити нічого для константи класу.
@const
це не правильна відповідь.
Єдине "офіційне" місце в списку - phpdoc.de, але специфікація там колись досягла 1,0 бета, а на сайті також є теги типу @brother
і @sister
, які я ніколи раніше не бачив, тому загальна довіра до цього сайту дещо зменшено ;-) Фактичним стандартом завжди був phpDoc.org.
Коротше кажучи, навіть якщо якийсь неофіційний стандарт це згадує, якщо генератори документації не підтримують це, тоді не варто використовувати.
@var
правильно на даний момент, і як тільки PSR (останнє посилання у наведеному вище списку) поза проектом, і є основою, за якою phpDocumentor, Doxygen, APIGen та інші розуміють PHPDoc, тоді .@type
буде правильно, який є наступником@var
@type
був відхилений на користь@var
.
Я використовую Netbeans. Він буде аналізувати phpDoc для глобальних констант та класів, коли використовується цей формат:
/** @const Global constant description */
define('MY_CONST', 10);
class MyClass
{
/** @const Class constant description */
const MY_CONST = 10;
}
@const
поза увагою константи класу в Netbeans?
@const
для глобальних і класичних константних оголошень.
Немає необхідності коментувати тип констант, оскільки тип завжди:
@const
також не є частиною стандарту PHPDoc. PHP-FIG пропонує, @var
але це не підтримується PHPDoc і не додає жодної інформації, яку ви вже не можете вивести з самої декларації.
Тому для читабельності я рекомендую просто використовувати звичайний блок-документ PHPDoc для документування своїх констант:
class Foo
{
/**
* This is a constant.
*/
const BAR = 'bar';
}
Тут буде описано константу, коли ви створюєте PHPDocs, але зберігає коментарі чистими та читабельними.
Наступна пропозиція відповідає синтаксису офіційної документації :
class Foo
{
const
/**
* @var string Should contain a description
*/
MY_CONST1 = "1",
/**
* @var string Should contain a description
*/
MY_CONST2 = "2";
}
define
стурбований: stackoverflow.com/questions/2192751 / ...