Я сталкиваюсь со странной проблемой, когда пытаюсь задокументировать свой проект. У меня есть следующий код:
//! Set default ::$action for called controller. If no action is called, default (index) will be set.
$action = isset($_GET[ 'action']) ? $_GET[ 'action'] : 'index';
if ($action) {
echo 'something 1';
}else{
echo 'something 2';
}
//! Set default ::$action2 for called controller. If no action is called, default (index) will be set.
$action2 = isset($_GET[ 'action']) ? $_GET[ 'action'] : 'index';
//! Set default ::$action3 for called controller. If no action is called, default (index) will be set.
$action3 = isset($_GET[ 'action']) ? $_GET[ 'action'] : 'index';
Doxygen генерирует следующее:
Как видите, $ action2 отсутствует. Я проверил один из моих других файлов и увидел ту же проблему. Следующая вещь после if
оператора никогда не документируется, но следующая после этого документируется. Если я удаляю оператор if
из приведенного выше примера, я получаю документацию для всех 4 переменных - $page
, $action
, action2
и action3
.
Я трачу огромное время, пытаясь понять, что именно не так, но не повезло, поэтому каждое предложение приветствуется.
Система:
Windows XP x64 с Doxygen 1.7.4. (Я использую Doxygen GUI)
UPDATE
Кроме того, когда у меня есть что-то подобное в моем коде (обратите внимание на пропущенный else
для оператора if
). Когда я добавляю }else{}
, все работает. Далее $variables
снова не задокументировано, но это обновление было о if/else
.
Doxygen преобразует его в это