trait SerializerUtilsTrait (View source)

Shared utility methods for serializers: type parsing and JSON-safe conversion.

Methods

string|null
shortClassName(string|null $name)

Return the short (unqualified) form of a possibly-qualified class name.

toJsonSafe($value)

Convert value to JSON-safe format, filtering out resources and closures

parseType(string|null $typeStr)

Parse a type string back into the correct type object.

Details

protected string|null shortClassName(string|null $name)

Return the short (unqualified) form of a possibly-qualified class name.

E.g. "\Foo\Bar" or "Foo\Bar" -> "Bar"; "Bar" -> "Bar".

Parameters

string|null $name

Return Value

string|null

protected toJsonSafe($value)

Convert value to JSON-safe format, filtering out resources and closures

Parameters

$value

protected StandaloneType|UnionType|NullableType|NoType|IntersectionType parseType(string|null $typeStr)

Parse a type string back into the correct type object.

Rules: "" -> NoType "A&B" -> IntersectionType "(A&B)" -> IntersectionType (parenthesised pure intersection) "A|null" -> NullableType (exactly 2 parts, one is "null") "int|(A&B)|..." -> UnionType with IntersectionType member (DNF) "A|B|..." -> UnionType "?A" -> NullableType "A" -> StandaloneType

Parameters

string|null $typeStr

Return Value

StandaloneType|UnionType|NullableType|NoType|IntersectionType