Flow PHP

StructureType implements Type

Read onlyYes
FinalYes
Tags
template
implements

Interfaces

Type

Methods

__construct()  : mixed
allowsExtra()  : bool
assert()  : T
Checks that the value is of the type of this object, throwing when it is not.
cast()  : T
Takes a value and when necessary casts it to the type of this object.
elements()  : array<string|int, Type<string|int, mixed>>
fromArray()  : StructureType<string|int, mixed>
isValid()  : bool
Checks if the value is of the type of this object, returning a boolean instead of throwing.
normalize()  : array{type: "structure", elements: array>, optional_elements: array>, allow_extra: bool}
optionalElements()  : array<string|int, Type<string|int, mixed>>
toString()  : string
Returns a string representation of the type.

Methods

__construct()

public __construct(array<string|int, Type<string|int, T>> $elements[, array<string|int, Type<string|int, T>> $optionalElements = [] ][, bool $allowExtra = false ]) : mixed
Parameters
$elements : array<string|int, Type<string|int, T>>
$optionalElements : array<string|int, Type<string|int, T>> = []
$allowExtra : bool = false
Tags
throws
InvalidArgumentException

allowsExtra()

public allowsExtra() : bool
Return values
bool

assert()

Checks that the value is of the type of this object, throwing when it is not.

public assert(mixed $value) : T

Unlike cast(), this method never performs any conversion — the value must already match the type. Unlike isValid(), this method returns the value (narrowed to T) instead of a boolean, and always narrows the static type.

Parameters
$value : mixed
Return values
T

cast()

Takes a value and when necessary casts it to the type of this object.

public cast(mixed $value) : T

When value is already of the type of this object, it is returned as is. When cast method is used, it will additionally narrow the type of the returned value for static analysis tools.

Parameters
$value : mixed
Return values
T

elements()

public elements() : array<string|int, Type<string|int, mixed>>
Return values
array<string|int, Type<string|int, mixed>>

isValid()

Checks if the value is of the type of this object, returning a boolean instead of throwing.

public isValid(mixed $value) : bool

When this method returns true, static analysis tools narrow the value's type to T at the call site (via @phpstan-assert-if-true). Use this when you want to branch on the result; use assert() when you want the call to fail loudly on a mismatch.

Parameters
$value : mixed
Return values
bool

normalize()

public normalize() : array{type: "structure", elements: array>, optional_elements: array>, allow_extra: bool}
Return values
array{type: "structure", elements: array>, optional_elements: array>, allow_extra: bool}

optionalElements()

public optionalElements() : array<string|int, Type<string|int, mixed>>
Return values
array<string|int, Type<string|int, mixed>>

toString()

Returns a string representation of the type.

public toString() : string
  • string - for type_string()
  • int - for type_int()
  • ?float - for type_optional(type_float())
Return values
string
On this page

Search results