final class Type

PHP type reflection.

Methods

static Type|null
fromReflection(ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $reflection)

Creates a Type object based on reflection. Resolves self, static and parent to the actual class name.

static Type
fromString(string $type)

Creates the Type object according to the text notation.

static string
resolve(string $type, ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $of)

Resolves 'self', 'static' and 'parent' to the actual class name.

string
__toString()

No description

array
getNames()

Returns the array of subtypes that make up the compound type as strings.

array
getTypes()

Returns the array of subtypes that make up the compound type as Type objects:

string|null
getSingleName()

Returns the type name for simple types, otherwise null.

bool
isUnion()

Returns true whether it is a union type.

bool
isIntersection()

Returns true whether it is an intersection type.

bool
isSimple()

Returns true whether it is a simple type. Single nullable types are also considered to be simple types.

bool
isSingle()

No description

bool
isBuiltin()

Returns true whether the type is both a simple and a PHP built-in type.

bool
isClass()

Returns true whether the type is both a simple and a class name.

bool
isClassKeyword()

Determines if type is special class name self/parent/static.

bool
allows(string $subtype)

Verifies type compatibility. For example, it checks if a value of a certain type could be passed as a parameter.

Details

at line 32
static Type|null fromReflection(ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $reflection)

Creates a Type object based on reflection. Resolves self, static and parent to the actual class name.

If the subject has no type, it returns null.

Parameters

ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $reflection

Return Value

Type|null

at line 67
static Type fromString(string $type)

Creates the Type object according to the text notation.

Parameters

string $type

Return Value

Type

at line 92
static string resolve(string $type, ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $of)

Resolves 'self', 'static' and 'parent' to the actual class name.

Parameters

string $type
ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $of

Return Value

string

at line 126
string __toString()

No description

Return Value

string

at line 145
array getNames()

Returns the array of subtypes that make up the compound type as strings.

Return Value

array

at line 155
array getTypes()

Returns the array of subtypes that make up the compound type as Type objects:

Return Value

array

at line 164
string|null getSingleName()

Returns the type name for simple types, otherwise null.

Return Value

string|null

at line 175
bool isUnion()

Returns true whether it is a union type.

Return Value

bool

at line 184
bool isIntersection()

Returns true whether it is an intersection type.

Return Value

bool

at line 193
bool isSimple()

Returns true whether it is a simple type. Single nullable types are also considered to be simple types.

Return Value

bool

at line 199
bool isSingle()

No description

Return Value

bool

at line 209
bool isBuiltin()

Returns true whether the type is both a simple and a PHP built-in type.

Return Value

bool

at line 218
bool isClass()

Returns true whether the type is both a simple and a class name.

Return Value

bool

at line 227
bool isClassKeyword()

Determines if type is special class name self/parent/static.

Return Value

bool

at line 236
bool allows(string $subtype)

Verifies type compatibility. For example, it checks if a value of a certain type could be passed as a parameter.

Parameters

string $subtype

Return Value

bool