Constants

CONTEXT_MARKER

CONTEXT_MARKER = '@context'

Properties

$elementList

$elementList : array<array-key,\phpDocumentor\Descriptor\Interfaces\ElementInterface>

Type

array

Methods

findAlias()

findAlias(string  $fqsen, ?\phpDocumentor\Descriptor\Interfaces\ElementInterface  $container = null) : \phpDocumentor\Descriptor\Interfaces\ElementInterface|string|null

Attempts to find a Descriptor object alias with the FQSEN of the element it represents.

This method will try to fetch an element after normalizing the provided FQSEN. The FQSEN may contain references (bindings) that can only be resolved during linking (such as self) or it may contain a context marker {@see \phpDocumentor\Compiler\Linker\CONTEXT_MARKER}.

If there is a context marker then this method will see if a child of the given container exists that matches the element following the marker. If such a child does not exist in the current container then the namespace is queried if a child exists there that matches.

For example:

Given the Fqsen `@context::myFunction()` and the lastContainer `\My\Class` will this method first check
to see if `\My\Class::myFunction()` exists; if it doesn't it will then check if `\My\myFunction()` exists.

If neither element exists then this method assumes it is an undocumented class/trait/interface and change the given FQSEN by returning the namespaced element name (thus in the example above that would be \My\myFunction()). The calling method {@see \phpDocumentor\Compiler\Linker\substitute()} will then replace the value of the field containing the context marker with this normalized string.

Parameters

string $fqsen
?\phpDocumentor\Descriptor\Interfaces\ElementInterface $container

Returns

\phpDocumentor\Descriptor\Interfaces\ElementInterface|string|null —

setObjectAliasesList()

setObjectAliasesList(\phpDocumentor\Descriptor\Interfaces\ElementInterface[]  $elementList) : void

Sets the list of object aliases to resolve the FQSENs with.

Parameters

\phpDocumentor\Descriptor\Interfaces\ElementInterface[] $elementList

replacePseudoTypes()

replacePseudoTypes(string  $fqsen, \phpDocumentor\Descriptor\Interfaces\ElementInterface  $container) : string

Replaces pseudo-types, such as `self`, into a normalized version based on the last container that was encountered.

Parameters

string $fqsen
\phpDocumentor\Descriptor\Interfaces\ElementInterface $container

Returns

string —

isContextMarkerInFqsen()

isContextMarkerInFqsen(string  $fqsen) : bool

Returns true if the context marker is found in the given FQSEN.

Parameters

string $fqsen

Returns

bool —

getTypeWithClassAsContext()

getTypeWithClassAsContext(string  $fqsen, \phpDocumentor\Descriptor\Interfaces\ElementInterface  $container) : string

Normalizes the given FQSEN as if the context marker represents a class/interface/trait/enum as parent.

Parameters

string $fqsen
\phpDocumentor\Descriptor\Interfaces\ElementInterface $container

Returns

string —

getTypeWithNamespaceAsContext()

getTypeWithNamespaceAsContext(string  $fqsen, \phpDocumentor\Descriptor\Interfaces\ElementInterface  $container) : string

Normalizes the given FQSEN as if the context marker represents a class/interface/trait as parent.

Parameters

string $fqsen
\phpDocumentor\Descriptor\Interfaces\ElementInterface $container

Returns

string —

getTypeWithGlobalNamespaceAsContext()

getTypeWithGlobalNamespaceAsContext(string  $fqsen) : string

Normalizes the given FQSEN as if the context marker represents the global namespace as parent.

Parameters

string $fqsen

Returns

string —

fetchElementByFqsen()

fetchElementByFqsen(string  $fqsen) : ?\phpDocumentor\Descriptor\Interfaces\ElementInterface

Attempts to find an element with the given Fqsen in the list of elements for this project and returns null if it cannot find it.

Parameters

string $fqsen

Returns

?\phpDocumentor\Descriptor\Interfaces\ElementInterface —