Class yii\apidoc\models\PropertyDoc

Inheritanceyii\apidoc\models\PropertyDoc » yii\apidoc\models\BaseDoc » yii\base\BaseObject
Available since extension's version2.0
Source Code https://github.com/yiisoft/yii2-apidoc/blob/master/models/PropertyDoc.php

Represents API documentation information for a property.

Public Properties

Hide inherited properties

Property Type Description Defined By
$defaultValue string|null yii\apidoc\models\PropertyDoc
$definedBy string|null yii\apidoc\models\PropertyDoc
$deprecatedReason string|null yii\apidoc\models\BaseDoc
$deprecatedSince string|null yii\apidoc\models\BaseDoc
$description string|null yii\apidoc\models\BaseDoc
$endLine integer|null yii\apidoc\models\BaseDoc
$fullName string|null yii\apidoc\models\BaseDoc
$getter yii\apidoc\models\MethodDoc|null yii\apidoc\models\PropertyDoc
$isReadOnly boolean If property is read only. yii\apidoc\models\PropertyDoc
$isStatic boolean|null yii\apidoc\models\PropertyDoc
$isWriteOnly boolean If property is write only. yii\apidoc\models\PropertyDoc
$name string|null yii\apidoc\models\BaseDoc
$packageName string|null yii\apidoc\models\BaseDoc
$parent yii\apidoc\models\BaseDoc
$phpDocContext \phpDocumentor\Reflection\Types\Context|null yii\apidoc\models\BaseDoc
$phpStanTypeImports array yii\apidoc\models\BaseDoc
$phpStanTypes array yii\apidoc\models\BaseDoc
$psalmTypeImports array yii\apidoc\models\BaseDoc
$psalmTypes array yii\apidoc\models\BaseDoc
$setter yii\apidoc\models\MethodDoc|null yii\apidoc\models\PropertyDoc
$shortDescription string|null yii\apidoc\models\BaseDoc
$since string|null Available since this version. yii\apidoc\models\BaseDoc
$sinceMap array A mapping where keys are versions and values are descriptions. yii\apidoc\models\BaseDoc
$sourceFile string|null yii\apidoc\models\BaseDoc
$startLine integer|null yii\apidoc\models\BaseDoc
$tags \phpDocumentor\Reflection\DocBlock\Tag[] yii\apidoc\models\BaseDoc
$templates array yii\apidoc\models\BaseDoc
$todos \phpDocumentor\Reflection\DocBlock\Tags\Generic[] yii\apidoc\models\BaseDoc
$type \phpDocumentor\Reflection\Type|null yii\apidoc\models\PropertyDoc
$visibility string|null yii\apidoc\models\PropertyDoc

Public Methods

Hide inherited methods

Method Description Defined By
__construct() yii\apidoc\models\PropertyDoc
getFirstTag() Get the first tag of a given name yii\apidoc\models\BaseDoc
getIsReadOnly() yii\apidoc\models\PropertyDoc
getIsWriteOnly() yii\apidoc\models\PropertyDoc
getPackageName() Returns the Composer package for this type, if it can be determined from $sourceFile. yii\apidoc\models\BaseDoc
hasTag() Checks if doc has tag of a given name yii\apidoc\models\BaseDoc
removeTag() Removes tag of a given name yii\apidoc\models\BaseDoc

Protected Methods

Hide inherited methods

Method Description Defined By
isInheritdocTag() yii\apidoc\models\BaseDoc

Constants

Hide inherited constants

Constant Value Description Defined By
INHERITDOC_TAG_NAME 'inheritdoc' yii\apidoc\models\BaseDoc
PHPSTAN_IMPORT_TYPE_ANNOTATION_NAME 'phpstan-import-type' yii\apidoc\models\BaseDoc
PHPSTAN_TYPE_ANNOTATION_NAME 'phpstan-type' yii\apidoc\models\BaseDoc
PSALM_IMPORT_TYPE_ANNOTATION_NAME 'psalm-import-type' yii\apidoc\models\BaseDoc
PSALM_TYPE_ANNOTATION_NAME 'psalm-type' yii\apidoc\models\BaseDoc
TODO_TAG_NAME 'todo' yii\apidoc\models\BaseDoc

Property Details

Hide inherited properties

$defaultValue public property
public string|null $defaultValue null
$definedBy public property
public string|null $definedBy null
$getter public property
$isReadOnly public property

If property is read only.

public boolean $isReadOnly null
$isStatic public property
public boolean|null $isStatic null
$isWriteOnly public property

If property is write only.

public boolean $isWriteOnly null
$setter public property
$type public property
public \phpDocumentor\Reflection\Type|null $type null
$visibility public property
public string|null $visibility null

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( yii\apidoc\models\TypeDoc $parent, \phpDocumentor\Reflection\Php\Property|null $reflector null, yii\apidoc\models\Context|null $context null, array $config = [] )
$parent yii\apidoc\models\TypeDoc
$reflector \phpDocumentor\Reflection\Php\Property|null
$context yii\apidoc\models\Context|null
$config array

                public function __construct($parent, $reflector = null, $context = null, $config = [])
{
    parent::__construct($parent, $reflector, $context, $config);
    if ($reflector === null) {
        return;
    }
    $this->visibility = (string) $reflector->getVisibility();
    $this->isStatic = $reflector->isStatic();
    $reflectorDefault = $reflector->getDefault();
    $this->defaultValue = $reflectorDefault !== null ? (string) $reflectorDefault : null;
    $hasInheritdoc = false;
    foreach ($this->tags as $tag) {
        if ($tag instanceof Var_) {
            $this->type = $tag->getType();
            $descriptions = TextHelper::getDescriptionsByFullDescription((string) $tag->getDescription());
            $this->shortDescription = $descriptions['short'];
            $this->description = $descriptions['detailed'];
        } elseif ($this->isInheritdocTag($tag)) {
            $hasInheritdoc = true;
        }
    }
    if (empty($this->shortDescription) && $context !== null && !$hasInheritdoc) {
        $context->warnings[] = [
            'line' => $this->startLine,
            'file' => $this->sourceFile,
            'message' => "No short description for element '{$this->name}'",
        ];
    }
    if (!$hasInheritdoc && $this->type === null) {
        $this->type = $reflector->getType();
    }
}

            
getFirstTag() public method (available since version 2.0.5)

Defined in: yii\apidoc\models\BaseDoc::getFirstTag()

Get the first tag of a given name

public \phpDocumentor\Reflection\DocBlock\Tag|null getFirstTag ( string $name )
$name string

Tag name.

return \phpDocumentor\Reflection\DocBlock\Tag|null

Tag instance, null if not found.

                public function getFirstTag($name)
{
    foreach ($this->tags as $i => $tag) {
        if (strtolower($tag->getName()) == $name) {
            return $this->tags[$i];
        }
    }
    return null;
}

            
getIsReadOnly() public method

public boolean getIsReadOnly ( )
return boolean

If property is read only

                public function getIsReadOnly()
{
    return $this->getter !== null && $this->setter === null;
}

            
getIsWriteOnly() public method

public boolean getIsWriteOnly ( )
return boolean

If property is write only

                public function getIsWriteOnly()
{
    return $this->getter === null && $this->setter !== null;
}

            
getPackageName() public method (available since version 2.1.3)

Defined in: yii\apidoc\models\BaseDoc::getPackageName()

Returns the Composer package for this type, if it can be determined from $sourceFile.

public string|null getPackageName ( )

                public function getPackageName()
{
    if (!$this->sourceFile || !preg_match('/\/vendor\/([\w\-]+\/[\w\-]+)/', $this->sourceFile, $match)) {
        return null;
    }
    return $match[1];
}

            
hasTag() public method

Defined in: yii\apidoc\models\BaseDoc::hasTag()

Checks if doc has tag of a given name

public boolean hasTag ( string $name )
$name string

Tag name

return boolean

If doc has tag of a given name

                public function hasTag($name)
{
    foreach ($this->tags as $tag) {
        if (strtolower($tag->getName()) == $name) {
            return true;
        }
    }
    return false;
}

            
isInheritdocTag() protected method
protected boolean isInheritdocTag ( \phpDocumentor\Reflection\DocBlock\Tag $tag )
$tag \phpDocumentor\Reflection\DocBlock\Tag

                protected function isInheritdocTag(Tag $tag): bool
{
    return $tag instanceof Generic && $tag->getName() === self::INHERITDOC_TAG_NAME;
}

            
removeTag() public method

Defined in: yii\apidoc\models\BaseDoc::removeTag()

Removes tag of a given name

public mixed removeTag ( string $name )
$name string

                public function removeTag($name)
{
    foreach ($this->tags as $i => $tag) {
        if (strtolower($tag->getName()) == $name) {
            unset($this->tags[$i]);
        }
    }
}