Определение пространств имен в синтаксисе phpDoc

может ли кто-нибудь сказать мне, как правильно определить пространства имен php в синтаксисе phpDoc? Или @package устарел в phpDoc, так как пространства имен более или менее определяют пакет?

Если нет, есть ли общий способ документировать пространства имен, в которых находится документ?

4 ответов


phpDoc не имеет понятия пространств имен, но вы можете (и, вероятно, должны) использовать для него @package.

вы может взглянем на!--3-->phplint документация чтобы увидеть, как они форматируют пространства имен.


@package должен использоваться в каждом docblock каждого файла в вашем проекте, вы также можете использовать @subpackage. @package не устарел и был бы правильным способом определения ваших пространств имен.


вы можете взглянуть на DocBlox; это генератор документации API, который поддерживает пространства имен.

и более четко ответить на ваш вопрос: насколько я столкнулся, пакеты считаются устаревшими из-за изобретения пространств имен. Если вы прочитаете спецификацию PSR-0, вы увидите, что она пытается предоставить пакет как вторую часть пространства имен; первый поставщик.


в документации phpDoc говорится:

бирку @package можно использовать как двойник или дополнение к Пространство имен. Пространства имен предоставляют функциональное подразделение Structural Элементы, где тег @package может предоставить логическое подразделение в таким образом, элементы могут быть сгруппированы с другой иерархией.

Если, по всем направлениям, как логические, так и функциональные подразделения равно не рекомендуется использовать тег @package, чтобы предотвратить затрат на обслуживание.

https://www.phpdoc.org/docs/latest/references/phpdoc/tags/package.html