Теги 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, и это правильно.

Другие вопросы по тегам