свойства — PHP и Doxygen с объявлением нескольких свойств

Наконец-то я получил doxygen для работы с комментариями в стиле php и PHPDoc (я удаляю ‘@package’ с фильтром, так как он разбивает doxygen), хотя есть одна вещь, которую я хотел бы иметь и не могу понять, как это сделать.

В PHP я пишу несколько объявлений свойств в классе, как это:

class Foo
{
private
/// the blue color
$blue,
/// the red color
$red,
/// the yellow color
$yellow;

public
/// the orange color
$orange,
/// black (no color)
$black;

public function bar() {}
}

Если я сейчас создаю документы, только первое свойство отображается как private Attribute в то время как все другие свойства просто упоминаются как Data Fields, Таким образом, doxygen, очевидно, не разбирает аксессоры каждого свойства после первого.

Можно ли сделать этот стиль комментирования совместимым с doxygen?

П.С .: Я думал о применении фильтра, который преобразует его в стиль кода, разбираемый с помощью кислорода. Хотя это было бы только исправлением, я сейчас работаю над этим.

1

Решение

Я написал этот фильтр, который работает для приведенного вами примера. Я думаю, что я должен также работать для более сложных примеров.

// Get the input
$source = file_get_contents($argv[1]);

$count = 0;

do {
$source = preg_replace('#(private|public|protected)(\s*[^$]*)(\$[^,;]+),#',
"$2 $1 $3;\n$1 ", $source, -1, $count);
} while($count > 0);

// Output
echo $source;

Вы можете найти этот и другие фильтры в моем репозитории GitHub. Doxygen-PHP-фильтры.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]