Теги phpDocumentor 2 не работают
Я установил phpDocumentor 2, используя Pear, как описано на phpdoc.org. При этом я собрал свои комментарии
/**
* Calls class1
* @see class2
* @access public
*/
class class1 {
}
/**
* Calls class2
* you can {@link class1}
*/
class class2 {
}
Первый не работает, если вы не говорите @see class2 Class 2, а второй не будет работать независимо. Он просто печатает так, как выглядит, а не читает фигурные скобки как встроенные теги. Итак, мой вопрос - я что-то здесь не так делаю? Кто-нибудь еще сталкивался с чем-то подобным? Я скачал phpDocs 1.x и у меня не было этой проблемы, но я хотел бы phpDocs 2, если это возможно..
Спасибо!
1 ответ
В phpDocumentor 2.x еще не реализован встроенный тег ссылки ("{@link}"), который был доступен в 1.x. Это в списке TODO. Я бы также предложил использовать тег @see, хотя, очевидно, вы не можете сделать это как встроенный тег.
Я ожидал бы, что тег @see будет хорошо работать только с именем целевого класса ("@see class2"), не требуя текста описания ("@see class2 Class 2"). Я бы посчитал поведение, которое вы описываете, ошибкой, о которой можно сообщить здесь - https://github.com/phpDocumentor/phpDocumentor2/issues
Между прочим, тег @access не имеет контекста относительно самого класса. Область видимости public/protected/private применяется только к методам класса и свойствам класса, но не к самому классу. Кроме того, он был добавлен в phpDocumentor 1.x еще в дни PHP4, прежде чем такая область видимости была вообще доступна в PHP (что было добавлено в PHP5). Следовательно, на самом деле это больше не полезно. Даже в 1.x, если он запускается с использованием PHP5 против кода, написанного для PHP5, ключевые слова области кода переопределяют все, что говорит тег @access. Я не верю, что phpDocumentor 2.x даже беспокоился о реализации тега @access, и это правильно.