Как сообщить doxygen использовать /** в качестве класса doc вместо /*! class

#php #doxygen

#php #doxygen

Вопрос:

Я пытаюсь переключиться с phpDocumentor на doxygen, но все мои классы документированы в следующем стиле:

 /**
 * DESCRIPTION
 *
 * @category  PHP
 * @package   UserManagement.Class
 * @author    Name <email@company.com>
 * @copyright 2011 Company
 * @link      http://www.company.com
 */
  

но doxygen не распознает это как класс doc, если я не изменю первую строку на

 /*! class CLASSNAME
  

Есть ли способ указать doxygen использовать стиль «/ **»?

с уважением

Комментарии:

1. Вроде как не по теме; но если вам надоел phpDocumentor — как и мне, — возможно, вы захотите взглянуть на DocBlox вместо этого.

Ответ №1:

Я нашел проблему (но не реальное решение): Doxygen не нравятся @category amp; @package в блоке class doc. Если я их удалю, это сработает.

Комментарии:

1. если вы используете PHP 5.3, вы должны иметь возможность использовать пространство имен для обеспечения этой функциональности (немного халтурно, но, вероятно, обеспечит необходимую вам функциональность), конечно, в зависимости от ситуации это может быть / не быть возможным с тем, что у вас есть

2. На самом деле, если @category и / или @package присутствуют, подробное описание класса можно найти в разделе Пространства имен в сгенерированной документации.

Ответ №2:

Doxygen должен распознавать комментарии JavaDoc (т. Е. /**). Возможно, проблема в том, что ваше краткое описание не определяется автоматически.

Чтобы заставить Doxygen использовать эти краткие описания, вам нужно установить JAVADOC_AUTOBRIEF в YES свой конфигурационный файл.

Для получения дополнительной информации о стиле документации Doxygen взгляните на это

Комментарии:

1. Включен JAVADOC_AUTOBRIEF, и он распознает их для функций, но не для классов. Таким образом, «Подробное описание» документации пустое.

2. @chrfin что тогда отображается для классов?

Ответ №3:

Если, например, ваши коллеги все еще используют PHPDoc, вы можете использовать INPUT_FILTER конфигурацию для фильтрации нежелательных тегов:

 $ grep INPUT_FILTER doc/doxygen.config
INPUT_FILTER      = /home/gorgo/someproj/doc/doxygen.inputfilter
  

Скрипт inputfilter должен быть исполняемым, и его содержимое может быть примерно таким:

 $ cat doc/doxygen.inputfilter
#!/bin/sh

grep -Fv '@package' $1 | grep -Fv '@category'