CONTEXT_MARKER
CONTEXT_MARKER = '@context'
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.
string | $fqsen | |
?\phpDocumentor\Descriptor\Interfaces\ElementInterface | $container |
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.
string | $fqsen | |
\phpDocumentor\Descriptor\Interfaces\ElementInterface | $container |
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.
string | $fqsen | |
\phpDocumentor\Descriptor\Interfaces\ElementInterface | $container |
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.
string | $fqsen | |
\phpDocumentor\Descriptor\Interfaces\ElementInterface | $container |
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.
string | $fqsen |