PHPDoc: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Применение: Исправлена ошибка - в примере не упоминается аттрибут с именем controller объекта $eventData
м обновление, исправление
Строка 20: Строка 20:
}
}
</source>
</source>

== Возможности PHPDoc ==

# Поддержка последней версии [[PHP]]
# Работа с классами диаграммы [[UML]]
# Полнотекстовый поиск
# Поддержка CI из коробки
# Больше контроля с DocBlocks

== Версии PHPDoc ==
Текущая версия PHPDocumentator 3, [https://github.com/phpdocumentor/phpdocumentor Репозиторий]


== Применение ==
== Применение ==
Строка 44: Строка 55:
== Ссылки ==
== Ссылки ==
* [http://www.phpdoc.org/ http://www.phpdoc.org/] — сайт проекта
* [http://www.phpdoc.org/ http://www.phpdoc.org/] — сайт проекта
* [http://habrahabr.ru/post/162535/ Один из примеров] применения на сайте Хабрахабр.
* [http://habrahabr.ru/post/162535/ Один из примеров] применения на сайте Хабрахабр.


== Примечания ==
== Примечания ==
Строка 53: Строка 64:


{{empty}}
{{empty}}
[[Категория:Doc]]
[[Категория:Docx]]

Версия от 11:27, 15 мая 2022

PHPDoc — адаптированный стандарт документирования Javadoc для использования в PHP. Пока стандарт комментирования имеет лишь формальный статус, однако, планируется его закрепление в качестве одного из стандартов разработки PHP-фреймворков, разрабатываемых группой PHP-FIG. Подготавливаемый стандарт получит номер PSR-5[1]. PHPDoc поддерживает как объектно-ориентированный, так и процедурный код в документах.

Для интерпретации кода создана отдельная программа phpDocumentor.

Компоненты PHPDoc

Doc-блоки

Doc-блоки (англ. DocBlock comments) — это многострочные комментарии в стиле языка Си, располагаемые перед документируемым элементом. Первым символом в комментарии (и в начале строк комментария) должен быть *. Блоки разделяются пустыми строками.

Пример Doc-блока для функции foo():

/**
 * @param string $msg string to output
 * @author WikiEditor
 * @copyright 2016 Wikipedia
 * @return string unchanged
 */
function foo($msg = '') {
    return $msg;
}

Возможности PHPDoc

  1. Поддержка последней версии PHP
  2. Работа с классами диаграммы UML
  3. Полнотекстовый поиск
  4. Поддержка CI из коробки
  5. Больше контроля с DocBlocks

Версии PHPDoc

Текущая версия PHPDocumentator 3, Репозиторий

Применение

При разработке своих больших проектов, все тонкости которых невозможно держать в голове, ровно как и при доработке чужих проектов, часто приходится подсматривать в ранее написанный код. Это позволяет точнее представлять себе и возвращаемые, создаваемые объекты и что с ними можно делать. Учитывая, что в PHP существует неявное приведение типов, потенциально возможны ошибки, когда производятся операции с объектами разных типов. В языках с сильной типизацией этого не произойдёт — программа просто не скомпилируется.

Для избежания этого и используют PHPDoc и другие подобные технологии. Допустим, имеется код:

...

$eventData = new EventData();

$eventData->sender = $controller;
$eventData->name = 'onDelete';
$eventData->group = 'global';
$eventData->arguments = array('id' => 15);

$eventDispatcher->triggerEvent($eventData);

...

Сторонний разработчик, читая этот код, может не знать, что содержит в себе $controller, однако IDE ему подскажет, если она поддерживает PHPDoc. То есть набрав: $controller-> — мы можем увидеть, что находится внутри. В результате нет необходимости лезть в дебри кода, чтобы выяснить, что передаётся этим объектом и в каком типе.

Ссылки

Примечания