class Schemas extends GroupedTagBuilder

Methods

static string
key()

Get the builder key.

overlayOn(TagBuilder|null $base)

Overlay these schemas onto the lower layer.

bool
isEmpty()

Determine whether no schemas are defined.

static string
headArrayKey()

Get the dot-notated key this builder occupies in the Head::toArray() result.

static mixed
headArrayDefault()

Grouped tag builders are represented as an empty array when absent from the Head::toArray() result.

static array
routeAttributeKeys()

Get the supported route attribute names.

static TagBuilder|null
fromRouteAttribute(string $key, mixed $value)

Build schemas from a route attribute.

static bool
rendersWhenEmpty(ResolvedHead $head)

Determine if the builder should render even when no data was set.

asDefaults()

Mark the builder's data as belonging to the defaults layer.

mixed
toHeadArray(ResolvedHead $head)

Validate and resolve all schemas for the head array.

array
toTags(ResolvedHead $head, TagRenderer $tags)

Render each schema as JSON-LD.

static string|null
string(mixed $value)

Return the value when it is a string.

static string|null
stringOrBackedEnum(mixed $value)

Resolve a string or string-backed enum value.

static bool|null
bool(mixed $value)

Return the value when it is a boolean.

static int|null
int(mixed $value)

Return the value when it is an integer.

static array
items(mixed $value)

Normalize a route attribute value into a list of items.

static array
named(array $values)

Filter an array down to its string-keyed values.

__construct(array $schemas = [])

Create the schema collection.

schema(SchemaObject|array $schema)

Add a schema, deduplicating objects by identity and arrays by content.

array
headArray()

Get the ordered schema definitions.

void
__clone()

Copy mutable schema objects for independent coroutine state.

Details

at line 30
static string key()

Get the builder key.

Return Value

string

at line 84
TagBuilder overlayOn(TagBuilder|null $base)

Overlay these schemas onto the lower layer.

Parameters

TagBuilder|null $base

Return Value

TagBuilder

at line 96
bool isEmpty()

Determine whether no schemas are defined.

Return Value

bool

in TagBuilder at line 32
static string headArrayKey()

Get the dot-notated key this builder occupies in the Head::toArray() result.

Return Value

string

in GroupedTagBuilder at line 13
static mixed headArrayDefault()

Grouped tag builders are represented as an empty array when absent from the Head::toArray() result.

Return Value

mixed

at line 40
static array routeAttributeKeys()

Get the supported route attribute names.

Return Value

array

at line 48
static TagBuilder|null fromRouteAttribute(string $key, mixed $value)

Build schemas from a route attribute.

Parameters

string $key
mixed $value

Return Value

TagBuilder|null

in TagBuilder at line 66
static bool rendersWhenEmpty(ResolvedHead $head)

Determine if the builder should render even when no data was set.

Parameters

ResolvedHead $head

Return Value

bool

in TagBuilder at line 74
TagBuilder asDefaults()

Mark the builder's data as belonging to the defaults layer.

Return Value

TagBuilder

at line 106
mixed toHeadArray(ResolvedHead $head)

Validate and resolve all schemas for the head array.

Parameters

ResolvedHead $head

Return Value

mixed

at line 122
array toTags(ResolvedHead $head, TagRenderer $tags)

Render each schema as JSON-LD.

Parameters

ResolvedHead $head
TagRenderer $tags

Return Value

array

in TagBuilder at line 100
static protected string|null string(mixed $value)

Return the value when it is a string.

Parameters

mixed $value

Return Value

string|null

in TagBuilder at line 108
static protected string|null stringOrBackedEnum(mixed $value)

Resolve a string or string-backed enum value.

Parameters

mixed $value

Return Value

string|null

in TagBuilder at line 124
static protected bool|null bool(mixed $value)

Return the value when it is a boolean.

Parameters

mixed $value

Return Value

bool|null

in TagBuilder at line 132
static protected int|null int(mixed $value)

Return the value when it is an integer.

Parameters

mixed $value

Return Value

int|null

in TagBuilder at line 142
static protected array items(mixed $value)

Normalize a route attribute value into a list of items.

Parameters

mixed $value

Return Value

array

in TagBuilder at line 153
static protected array named(array $values)

Filter an array down to its string-keyed values.

Parameters

array $values

Return Value

array

at line 23
__construct(array $schemas = [])

Create the schema collection.

Parameters

array $schemas

at line 74
Schemas schema(SchemaObject|array $schema)

Add a schema, deduplicating objects by identity and arrays by content.

Parameters

SchemaObject|array $schema

Return Value

Schemas

at line 135
protected array headArray()

Get the ordered schema definitions.

Return Value

array

at line 143
void __clone()

Copy mutable schema objects for independent coroutine state.

Return Value

void