PHPDoc: различия между версиями
[непроверенная версия] | [непроверенная версия] |
→Применение: Исправлена ошибка - в примере не упоминается аттрибут с именем controller объекта $eventData |
Dbqqbq (обсуждение | вклад) м обновление, исправление |
||
Строка 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
- Поддержка последней версии PHP
- Работа с классами диаграммы UML
- Полнотекстовый поиск
- Поддержка CI из коробки
- Больше контроля с 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->
— мы можем увидеть, что находится внутри. В результате нет необходимости лезть в дебри кода, чтобы выяснить, что передаётся этим объектом и в каком типе.
Ссылки
- http://www.phpdoc.org/ — сайт проекта
- Один из примеров — применения на сайте Хабрахабр.
Примечания
Эта статья слишком короткая. |