Copied!
CloneableInstantiable
Properties
public string $name
 
  • psalm-var non-empty-string
  • var string Name as string
Methods
public final __construct( $name, array $attributes = [])
 

Constructs a name node.

  • param string|string[]|self $name Name as string, part array or Name instance (copy ctor)
  • param array<string,mixed> $attributes Additional attributes
public __toString() : string
 

Returns a string representation of the name by imploding the namespace parts with the namespace separator.

  • psalm-return non-empty-string
  • return string String representation
public static concat( $name1, $name2, array $attributes = [])
 

Concatenate two names, yielding a new Name instance.

The type of the generated instance depends on which class this method is called on, for example Name\FullyQualified::concat() will yield a Name\FullyQualified instance.

If one of the arguments is null, a new instance of the other name will be returned. If both arguments are null, null will be returned. As such, writing Name::concat($namespace, $shortName) where $namespace is a Name node or null will work as expected.

  • param string|string[]|self|null $name1 The first name
  • param string|string[]|self|null $name2 The second name
  • param array<string,mixed> $attributes Attributes to assign to concatenated name
  • return static|null Concatenated name
public PhpParser\NodeAbstract::getAttribute(string $key, $default = NULL)
public PhpParser\NodeAbstract::getAttributes() : array
public PhpParser\NodeAbstract::getComments() : array
 

Gets all comments directly preceding this node.

The comments are also available through the "comments" attribute.

  • return \Comment[]
public PhpParser\NodeAbstract::getDocComment() : ?PhpParser\Comment\Doc
 

Gets the doc comment of the node.

  • return null|\Comment\Doc Doc comment object or null
public PhpParser\NodeAbstract::getEndFilePos() : int
 

Gets the file offset of the last character that is part of this node.

Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default).

  • return int File end position (or -1 if not available)
public PhpParser\NodeAbstract::getEndLine() : int
 

Gets the line the node ended in.

Requires the 'endLine' attribute to be enabled in the lexer (enabled by default).

  • return int End line (or -1 if not available)
  • phpstan-return -1|positive-int
public PhpParser\NodeAbstract::getEndTokenPos() : int
 

Gets the token offset of the last token that is part of this node.

The offset is an index into the array returned by Lexer::getTokens().

Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default).

  • return int Token end position (or -1 if not available)
public getFirst() : string
 

Gets the first part of the name, i.e. everything before the first namespace separator.

  • return string First part of the name
public getLast() : string
 

Gets the last part of the name, i.e. everything after the last namespace separator.

  • return string Last part of the name
public PhpParser\NodeAbstract::getLine() : int
 

Gets line the node started in (alias of getStartLine).

  • return int Start line (or -1 if not available)
  • phpstan-return -1|positive-int
public getParts() : array
 

Get parts of name (split by the namespace separator).

  • psalm-return non-empty-list
  • return string[] Parts of name
public PhpParser\NodeAbstract::getStartFilePos() : int
 

Gets the file offset of the first character that is part of this node.

Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default).

  • return int File start position (or -1 if not available)
public PhpParser\NodeAbstract::getStartLine() : int
 

Gets line the node started in.

Requires the 'startLine' attribute to be enabled in the lexer (enabled by default).

  • return int Start line (or -1 if not available)
  • phpstan-return -1|positive-int
public PhpParser\NodeAbstract::getStartTokenPos() : int
 

Gets the token offset of the first token that is part of this node.

The offset is an index into the array returned by Lexer::getTokens().

Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default).

  • return int Token start position (or -1 if not available)
public getSubNodeNames() : array
public getType() : string
public PhpParser\NodeAbstract::hasAttribute(string $key) : bool
public isFullyQualified() : bool
 

Checks whether the name is fully qualified. (E.g. \Name)

  • return bool Whether the name is fully qualified
public isQualified() : bool
 

Checks whether the name is qualified. (E.g. Name\Name)

  • return bool Whether the name is qualified
public isRelative() : bool
 

Checks whether the name is explicitly relative to the current namespace. (E.g. namespace\Name)

  • return bool Whether the name is relative
public isSpecialClassName() : bool
 

Checks whether the identifier is a special class name (self, parent or static).

  • return bool Whether identifier is a special class name
public isUnqualified() : bool
 

Checks whether the name is unqualified. (E.g. Name)

  • return bool Whether the name is unqualified
public PhpParser\NodeAbstract::jsonSerialize() : array
 
  • return array<string,mixed>
public PhpParser\NodeAbstract::setAttribute(string $key, $value) : void
public PhpParser\NodeAbstract::setAttributes(array $attributes) : void
public PhpParser\NodeAbstract::setDocComment(PhpParser\Comment\Doc $docComment) : void
 

Sets the doc comment of the node.

This will either replace an existing doc comment or add it to the comments array.

  • param \Comment\Doc $docComment Doc comment to set
public slice(int $offset, ?int $length = NULL)
 

Gets a slice of a name (similar to array_slice).

This method returns a new instance of the same type as the original and with the same attributes.

If the slice is empty, null is returned. The null value will be correctly handled in concatenations using concat().

Offset and length have the same meaning as in array_slice().

  • param int $offset Offset to start the slice at (may be negative)
  • param int|null $length Length of the slice (may be negative)
  • return static|null Sliced name
public toCodeString() : string
 

Returns a string representation of the name as it would occur in code (e.g., including leading backslash for fully qualified names.

  • psalm-return non-empty-string
  • return string String representation
public toLowerString() : string
 

Returns lowercased string representation of the name, without taking the name type into account (e.g., no leading backslash for fully qualified names).

  • psalm-return non-empty-string
  • return string Lowercased string representation
public toString() : string
 

Returns a string representation of the name itself, without taking the name type into account (e.g., not including a leading backslash for fully qualified names).

  • psalm-return non-empty-string
  • return string String representation
Properties
protected array PhpParser\NodeAbstract::$attributes
 
  • var array<string,mixed> Attributes
Properties
private static array $specialClassNames = ['self' => true, 'parent' => true, 'static' => true]
 
  • var array<string,bool>
Methods
private static prepareName( $name) : string
 

Prepares a (string, array or Name node) name for use in name changing methods by converting it to a string.

  • param string|string[]|self $name Name to prepare
  • psalm-return non-empty-string
  • return string Prepared name
Properties
private static array $specialClassNames = ['self' => true, 'parent' => true, 'static' => true]
 
  • var array<string,bool>
Methods
public static concat( $name1, $name2, array $attributes = [])
 

Concatenate two names, yielding a new Name instance.

The type of the generated instance depends on which class this method is called on, for example Name\FullyQualified::concat() will yield a Name\FullyQualified instance.

If one of the arguments is null, a new instance of the other name will be returned. If both arguments are null, null will be returned. As such, writing Name::concat($namespace, $shortName) where $namespace is a Name node or null will work as expected.

  • param string|string[]|self|null $name1 The first name
  • param string|string[]|self|null $name2 The second name
  • param array<string,mixed> $attributes Attributes to assign to concatenated name
  • return static|null Concatenated name
private static prepareName( $name) : string
 

Prepares a (string, array or Name node) name for use in name changing methods by converting it to a string.

  • param string|string[]|self $name Name to prepare
  • psalm-return non-empty-string
  • return string Prepared name
© 2024 Bruce Wells
Search Namespaces \ Classes
Configuration