Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Документирование php скриптов с помощью phpDoc и phpDocumentor
Doc-блоки скрипта должны быть выделены таким образом:
Одной строкой:
/** <...> */
Либо несколькими строками:
/**
* <...>
*/
Пример Doc-блока:
/**
* Этот класс является примером использования doc-блоков phpDoc
*/
class SomeClass
{
/** @type string|null Текст приветствия */
protected $weclome = null;
/**
* Этот метод задает текст приветствия.
*
* @param string $text текст приветствия, максимум 255 символов.
*
* @return void
*/
public function setWeclomeText($text)
{
$this->weclome = $text;
}
}
Справочник phpDoc
@api – помечает структурный элемент, используемый сторонними программами, и являющийся частью API.
/**
* Этот метод показывает версию релиза
*
* @api
*
* @return void
*/
function showVersion()
{
<...>
}
@author – задает имя автора.
/**
* @author My Name
* @author My Name <my.name@example.com>
*/
@copyright – копирайтинг.
/**
* @copyright 2011-2012 The lifeexample.ru
*/
@deprecated – тег для пометки элементов на удаление в будущих версиях.
/**
* @deprecated
* @deprecated 1.0.0
* @deprecated Больше не используется внутри кода, и не рекомендуется.
*/
@example – пример использования метода или класса.
@filesource – сообщает в phpDocumentor, что нужно включить исходный код в текущий файл для разбора.
/**
* @filesource
*/
@global – описывает глобальные переменные.
@ignore – сообщает в phpDocumentor, что следующий структурный элемент обрабатывать не надо.
if ($ostest) {
/**
* Константа определяет версию операционной системы
*/
define("OS","Unix");
} else {
/**
* @ignore
*/
define("OS","Windows");
}
@internal – говорит, что элемент является внутренним элементом этого приложения или библиотеки.
/**
* @internal
*
* @return Возвращает целочисленное значение - количество чего либо.
*/
function count()
{
<...>
}
@license – описывает соответствие лицензии.
/**
* @license GPL
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
@link – связывает структурный элемент с сайтом, откуда он взят.
/**
* @link http://lifeexample.ru/razrabotka-i-optimizacia-saita/phpdoc-i-phpdocumentor Документация к функции.
*
* @return Возвращает целочисленное значение - количество чего либо.
*/
function count()
{
<...>
}
@method – указывает какие магические (не явные) методы класса можно вызвать.
class Parent
{
public function __call()
{
<...>
}
}
/**
* @method string getString()
* @method void setInteger(integer $integer)
* @method setString(integer $integer)
*/
class Child extends Parent
{
<...>
}
@package – классификация структурных элементов в логических подразделениях.
@param – описывает тип и имя параметра передаваемого в функцию.
/**
* Counts the number of items in the provided array.
*
* @param mixed[] $array Array массив значений.
* @param int|string $value некоторое значение.
* @return int возвращает номер элемента.
*/
function count(array $items, $value)
{
<...>
}
@property – аналогичен тегу @method. Позволяет классу знать какие можно использовать магические свойства.
class Parent
{
public function __get()
{
<...>
}
}
/**
* @property string $myProperty
*/
class Child extends Parent
{
<...>
}
@property-read – указывает какие можно использовать магические свойства, только для чтения.
class Parent
{
public function __get()
{
<...>
}
}
/**
* @property-read string $myProperty
*/
class Child extends Parent
{
<...>
}
@property-write – указывает какие можно использовать магические свойства, только для записи.
class Parent
{
public function __set()
{
<...>
}
}
/**
* @property-write string $myProperty
*/
class Child extends Parent
{
<...>
}
@return – описывает возвращаемое значение функцией или методом.
/**
* @return string|null Метка для текста.
*/
function getLabel()
{
<...>
}
@see – задает ссылку из структурного элемента, на веб-сайт или другой элемент.
/**
* @see http://lifeexample.ru/foo Документация функции.
* @see MyClass::$items свойства элементов.
* @see MyClass::setItems() установка элементов коллекции.
*
* @return integer Показывает количество элементов в коллекции.
*/
function count()
{
<...>
}
@since – говорит о том, что структурный элемент стал доступен с заданной версии пакета.
/**
* Файл проекта
* @package test
* @version 1.5.2
*/
/**
* функция datafunction
* @since Version 1.1.2
*/
function datafunction()
{
...
}
@subpackage – описывает под-пакет основного пакета, используется вместе с тегом @package.
@todo – документирует задачи, которые необходимо выполнить в ближайшем будущем.
@uses – показывает ссылку на документацию по этому элементу, и создает обратную ссылку в других документациях элементов на него.
@var – указывает описание для свойств класса.
class class1{
/**
* пример документирования переменной
* @var string
*/
var $variable;
/**
* пример документирования переменной с описанием
* @var string содержит информацию о class1
*/
var $variable_with_desc;
}
@version – версия документа.
/**
* Пример использования тега @version
* @version v 1.2 дата релиза 2006-04-29;
*/
function datafunction() {
}
.
Прокомментировать/Отблагодарить