#php #phpdoc
#php #phpdoc
Вопрос:
Мне интересно, как мне следует использовать @package amp; @subpackage для class doc.
допустим, у меня есть следующий класс
class My_Controller_Action_Helper_MyHelperAction extends Foo_Bar {}
Должно ли это быть:
@category My
@package Controller
@subpackage Action_Helper
или
@category My
@package Controller
@subpackage Action_Helper_MyHelperAction
или
@category My
@package Controller_Action
@subpackage MyHelperAction
или
@category My
@package My_Controller_Action
@subpackage MyHelperAction
Что, если использовать пространство имен вместо ‘_’?
Комментарии:
1. Согласно веб-сайту phpdoc.org , о категории и подпакете: «Этот тег считается устаревшим и может быть удален в будущей версии phpDocumentor. Рекомендуется использовать способность тега @package предоставлять несколько уровней.»
Ответ №1:
Во-первых: использование «_» или «» (разделитель пространства имен) не должно влиять на ваше решение о том, как вы аннотируете свои классы. Символ подчеркивания «_» происходит из эпохи, предшествующей созданию пространства имен, и «действует как» разделитель пространства имен, за исключением того, что он не создает никаких пространств имен. Таким образом, «My_Controller_Action» следует рассматривать как «Действие» в «MY_Controller».
Однако то, как вы используете @package
и / или @subpackage
, действительно ваше решение. Например, я не использую @category
вообще и @subpackage
это все после «второго» пространства имен. Позвольте мне объяснить: я следую стандарту PSR-0, где пакет структурирован в <Vendorname><packagename><subpackage>...
(или «_» вместо «», в зависимости от версии). Затем @package <vendorname>.<package>
и @subpackage <subpackage>
.
Вывод: решать вам 🙂 Разработчик документа может создавать различные структуры вашего кода в зависимости от используемых вами тегов и способа их использования. Просто попробуйте.
Ответ №2:
Если вы сталкивались с этим ответом в 2020 году, оба тега @category
и @subpackage
считаются устаревшими, поэтому, пожалуйста, не используйте их больше.
Вместо этого вам следует использовать @package для предоставления требуемого логического подразделения.
Согласно https://docs.phpdoc.org/latest/guide/references/phpdoc/tags/category.html и https://docs.phpdoc.org/latest/guide/references/phpdoc/tags/subpackage.html :
Важно, что этот тег считается устаревшим и может быть удален в будущей версии phpDocumentor. Рекомендуется использовать возможность тега @package предоставлять несколько уровней.
Важно, что этот тег считается устаревшим и может быть удален в будущей версии phpDocumentor. Рекомендуется использовать возможность тега @package предоставлять несколько уровней.
Ответ №3:
я использую @package для имени пакета, к которому принадлежит этот файл … сюрприз 🙂 например, если это плагин с именем xyz, то @package для всех файлов, которые принадлежат этому пакету.
для doxygen (который я использую) не существует такого понятия, как @subpackage, хотя вы можете создать свой собственный. например: http://www.doxygen.nl/manual/commands.html
Для doxygen вы можете использовать что-то вроде @package my.awesome.package, которое разбивает его на «подпакеты»
Вы действительно можете использовать его для чего угодно, если это имеет смысл и непротиворечиво. сначала решите, что вы хотите использовать, а затем просмотрите рекомендации / документы для этого приложения, поскольку все они разные