Type
final class Type
PHP type reflection.
Methods
Creates a Type object based on reflection. Resolves self, static and parent to the actual class name.
Creates the Type object according to the text notation.
Resolves 'self', 'static' and 'parent' to the actual class name.
No description
Returns the array of subtypes that make up the compound type as strings.
Returns the array of subtypes that make up the compound type as Type objects:
Returns the type name for single types, otherwise null.
Returns true whether it is a union type.
Returns true whether it is an intersection type.
Returns true whether it is a single type. Simple nullable types are also considered to be single types.
Returns true whether the type is both a single and a PHP built-in type.
Returns true whether the type is both a single and a class name.
Determines if type is special class name self/parent/static.
Verifies type compatibility. For example, it checks if a value of a certain type could be passed as a parameter.
Details
at line 35
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.
at line 72
static Type
fromString(string $type)
Creates the Type object according to the text notation.
at line 95
static string
resolve(string $type, ReflectionFunctionAbstract|ReflectionParameter|ReflectionProperty $reflection)
Resolves 'self', 'static' and 'parent' to the actual class name.
at line 121
string
__toString()
No description
at line 133
array
getNames()
Returns the array of subtypes that make up the compound type as strings.
at line 143
array
getTypes()
Returns the array of subtypes that make up the compound type as Type objects:
at line 152
string|null
getSingleName()
Returns the type name for single types, otherwise null.
at line 163
bool
isUnion()
Returns true whether it is a union type.
at line 172
bool
isIntersection()
Returns true whether it is an intersection type.
at line 181
bool
isSingle()
Returns true whether it is a single type. Simple nullable types are also considered to be single types.
at line 190
bool
isBuiltin()
Returns true whether the type is both a single and a PHP built-in type.
at line 199
bool
isClass()
Returns true whether the type is both a single and a class name.
at line 208
bool
isClassKeyword()
Determines if type is special class name self/parent/static.
at line 217
bool
allows(string $type)
Verifies type compatibility. For example, it checks if a value of a certain type could be passed as a parameter.