Class yii\apidoc\models\TypeDoc

Inheritanceyii\apidoc\models\TypeDoc » yii\apidoc\models\BaseDoc » yii\base\Object
Subclassesyii\apidoc\models\ClassDoc, yii\apidoc\models\InterfaceDoc, yii\apidoc\models\TraitDoc
Available since extension's version2.0
Source Code https://github.com/yiisoft/yii2-apidoc/blob/master/models/TypeDoc.php

Base class for API documentation information for classes, interfaces and traits.

Protected Methods

Hide inherited methods

Method Description Defined By
mbUcFirst() Multibyte version of ucfirst() yii\apidoc\models\BaseDoc

Property Details

Hide inherited properties

$authors public property
public $authors = []
$methods public property
$namespace public property
public $namespace null
$nativeMethods public property

This property is read-only.

$nativeProperties public property

This property is read-only.

$properties public property
$protectedMethods public property

This property is read-only.

$protectedProperties public property

This property is read-only.

$publicMethods public property

This property is read-only.

$publicProperties public property

This property is read-only.

Method Details

Hide inherited methods

__construct() public method

public void __construct ( $reflector null, $context null, $config = [] )
$reflector \phpDocumentor\Reflection\InterfaceReflector
$context yii\apidoc\models\Context
$config array

                public function __construct($reflector = null, $context = null, $config = [])
{
    parent::__construct($reflector, $context, $config);
    $this->namespace = trim(StringHelper::dirname($this->name), '\\');
    if ($reflector === null) {
        return;
    }
    foreach ($this->tags as $i => $tag) {
        if ($tag instanceof AuthorTag) {
            $this->authors[$tag->getAuthorName()] = $tag->getAuthorEmail();
            unset($this->tags[$i]);
        }
    }
    foreach ($reflector->getProperties() as $propertyReflector) {
        if ($propertyReflector->getVisibility() != 'private') {
            $property = new PropertyDoc($propertyReflector, $context, ['sourceFile' => $this->sourceFile]);
            $property->definedBy = $this->name;
            $this->properties[$property->name] = $property;
        }
    }
    foreach ($reflector->getMethods() as $methodReflector) {
        if ($methodReflector->getVisibility() != 'private') {
            $method = new MethodDoc($methodReflector, $context, ['sourceFile' => $this->sourceFile]);
            $method->definedBy = $this->name;
            $this->methods[$method->name] = $method;
        }
    }
}

            
extractFirstSentence() public static method

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

Extracts first sentence out of text

public static string extractFirstSentence ( $text )
$text string

                public static function extractFirstSentence($text)
{
    if (mb_strlen($text, 'utf-8') > 4 && ($pos = mb_strpos($text, '.', 4, 'utf-8')) !== false) {
        $sentence = mb_substr($text, 0, $pos + 1, 'utf-8');
        if (mb_strlen($text, 'utf-8') >= $pos + 3) {
            $abbrev = mb_substr($text, $pos - 1, 4, 'utf-8');
            if ($abbrev === 'e.g.' || $abbrev === 'i.e.') { // do not break sentence after abbreviation
                $sentence .= static::extractFirstSentence(mb_substr($text, $pos + 1, mb_strlen($text, 'utf-8'), 'utf-8'));
            }
        }
        return $sentence;
    } else {
        return $text;
    }
}

            
findSubject() public method

Finds subject (method or property) by name

If there is a property with the same as a method, the method will be returned if the name is not stated explicitly by prefixing with $.

Example for method attributes() and property $attributes which both may exist:

  • $subjectName = '$attributes' finds a property or nothing.
  • $subjectName = 'attributes()' finds a method or nothing.
  • $subjectName = 'attributes' finds the method if it exists, if not it will find the property.
public null|yii\apidoc\models\MethodDoc|yii\apidoc\models\PropertyDoc findSubject ( $subjectName )
$subjectName

                public function findSubject($subjectName)
{
    if ($subjectName[0] != '$') {
        foreach ($this->methods as $name => $method) {
            if (rtrim($subjectName, '()') == $name) {
                return $method;
            }
        }
    }
    if (!empty($subjectName) && substr_compare($subjectName, '()', -2, 2) === 0) {
        return null;
    }
    if ($this->properties === null) {
        return null;
    }
    foreach ($this->properties as $name => $property) {
        if (ltrim($subjectName, '$') == ltrim($name, '$')) {
            return $property;
        }
    }
    return null;
}

            
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 getFirstTag ( $name )
$name string

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

            
getNativeMethods() public method

public yii\apidoc\models\MethodDoc[] getNativeMethods ( )

                public function getNativeMethods()
{
    return $this->getFilteredMethods(null, $this->name);
}

            
getNativeProperties() public method

public yii\apidoc\models\PropertyDoc[] getNativeProperties ( )

                public function getNativeProperties()
{
    return $this->getFilteredProperties(null, $this->name);
}

            
getProtectedMethods() public method

public yii\apidoc\models\MethodDoc[] getProtectedMethods ( )

                public function getProtectedMethods()
{
    return $this->getFilteredMethods('protected');
}

            
getProtectedProperties() public method

public yii\apidoc\models\PropertyDoc[] getProtectedProperties ( )

                public function getProtectedProperties()
{
    return $this->getFilteredProperties('protected');
}

            
getPublicMethods() public method

public yii\apidoc\models\MethodDoc[] getPublicMethods ( )

                public function getPublicMethods()
{
    return $this->getFilteredMethods('public');
}

            
getPublicProperties() public method

public yii\apidoc\models\PropertyDoc[] getPublicProperties ( )

                public function getPublicProperties()
{
    return $this->getFilteredProperties('public');
}

            
hasTag() public method

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

Checks if doc has tag of a given name

public boolean hasTag ( $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;
}

            
mbUcFirst() protected static method (available since version 2.0.6)

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

Multibyte version of ucfirst()

protected static void mbUcFirst ( $string )
$string

                protected static function mbUcFirst($string)
{
    $firstChar = mb_strtoupper(mb_substr($string, 0, 1, 'utf-8'), 'utf-8');
    return $firstChar . mb_substr($string, 1, mb_strlen($string, 'utf-8'), 'utf-8');
}

            
removeTag() public method

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

Removes tag of a given name

public void removeTag ( $name )
$name string

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