Class yii\apidoc\models\ClassDoc

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

Represents API documentation information for a class.

Public Properties

Hide inherited properties

Property Type Description Defined By
$authors yii\apidoc\models\TypeDoc
$constants yii\apidoc\models\ConstDoc[] yii\apidoc\models\ClassDoc
$deprecatedReason yii\apidoc\models\BaseDoc
$deprecatedSince yii\apidoc\models\BaseDoc
$description yii\apidoc\models\BaseDoc
$endLine yii\apidoc\models\BaseDoc
$events yii\apidoc\models\EventDoc[] yii\apidoc\models\ClassDoc
$interfaces string[] yii\apidoc\models\ClassDoc
$isAbstract boolean yii\apidoc\models\ClassDoc
$isFinal boolean yii\apidoc\models\ClassDoc
$methods yii\apidoc\models\MethodDoc[] yii\apidoc\models\TypeDoc
$name yii\apidoc\models\BaseDoc
$namespace yii\apidoc\models\TypeDoc
$nativeEvents yii\apidoc\models\EventDoc[] This property is read-only. yii\apidoc\models\ClassDoc
$nativeMethods yii\apidoc\models\MethodDoc[] This property is read-only. yii\apidoc\models\TypeDoc
$nativeProperties yii\apidoc\models\PropertyDoc[] This property is read-only. yii\apidoc\models\TypeDoc
$parentClass string yii\apidoc\models\ClassDoc
$phpDocContext \phpDocumentor\Reflection\DocBlock\Context yii\apidoc\models\BaseDoc
$properties yii\apidoc\models\PropertyDoc[] yii\apidoc\models\TypeDoc
$protectedMethods yii\apidoc\models\MethodDoc[] This property is read-only. yii\apidoc\models\TypeDoc
$protectedProperties yii\apidoc\models\PropertyDoc[] This property is read-only. yii\apidoc\models\TypeDoc
$publicMethods yii\apidoc\models\MethodDoc[] This property is read-only. yii\apidoc\models\TypeDoc
$publicProperties yii\apidoc\models\PropertyDoc[] This property is read-only. yii\apidoc\models\TypeDoc
$shortDescription yii\apidoc\models\BaseDoc
$shortName yii\apidoc\models\BaseDoc
$since yii\apidoc\models\BaseDoc
$sourceFile yii\apidoc\models\BaseDoc
$startLine yii\apidoc\models\BaseDoc
$subclasses string[] yii\apidoc\models\ClassDoc
$tags \phpDocumentor\Reflection\DocBlock\Tag[] yii\apidoc\models\BaseDoc
$traits string[] yii\apidoc\models\ClassDoc

Protected Methods

Hide inherited methods

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

Property Details

Hide inherited properties

$constants public property
$events public property
$interfaces public property
public string[] $interfaces = []
$isAbstract public property
public boolean $isAbstract null
$isFinal public property
public boolean $isFinal null
$nativeEvents public property

This property is read-only.

$parentClass public property
public string $parentClass null
$subclasses public property
public string[] $subclasses = []
$traits public property
public string[] $traits = []

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);
    if ($reflector === null) {
        return;
    }
    $this->parentClass = ltrim($reflector->getParent(), '\\');
    if (empty($this->parentClass)) {
        $this->parentClass = null;
    }
    $this->isAbstract = $reflector->isAbstract();
    $this->isFinal = $reflector->isFinal();
    foreach ($reflector->getInterfaces() as $interface) {
        $this->interfaces[] = ltrim($interface, '\\');
    }
    foreach ($reflector->getUsedTraits() as $trait) {
        $this->traits[] = ltrim($trait, '\\');
    }
    foreach ($reflector->getConstants() as $constantReflector) {
        $docblock = $constantReflector->getDocBlock();
        if ($docblock !== null && count($docblock->getTagsByName('event')) > 0) {
            $event = new EventDoc($constantReflector);
            $event->definedBy = $this->name;
            $this->events[$event->name] = $event;
        } else {
            $constant = new ConstDoc($constantReflector);
            $constant->definedBy = $this->name;
            $this->constants[$constant->name] = $constant;
        }
    }
}

            
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;
    }
    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 (($subject = parent::findSubject($subjectName)) !== null) {
        return $subject;
    }
    foreach ($this->events as $name => $event) {
        if ($subjectName == $name) {
            return $event;
        }
    }
    foreach ($this->constants as $name => $constant) {
        if ($subjectName == $name) {
            return $constant;
        }
    }
    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|null getFirstTag ( $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;
}

            
getNativeEvents() public method

public yii\apidoc\models\EventDoc[] getNativeEvents ( )

                public function getNativeEvents()
{
    $events = [];
    foreach ($this->events as $name => $event) {
        if ($event->definedBy != $this->name) {
            continue;
        }
        $events[$name] = $event;
    }
    return $events;
}

            
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);
}

            
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];
}

            
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]);
        }
    }
}