Flow PHP

Schema implements Countable

FinalYes

Interfaces

Countable

Methods

__construct()  : mixed
add()  : Schema
addAfter()  : Schema
Inserts definitions immediately after an existing column.
addBefore()  : Schema
Inserts definitions immediately before an existing column.
addMetadata()  : Schema
Adds metadata to a given definition.
count()  : int
definitions()  : array<string, Definition<string|int, mixed>>
findDefinition()  : null|Definition<string|int, mixed>
fromArray()  : self
fromPipeline()  : self
Detecting schema from the pipeline has several disadvantages.
get()  : Definition<string|int, mixed>
gracefulRemove()  : self
Gracefully remove entries from schema without throwing an exception if entry does not exist.
insertAt()  : Schema
Inserts definitions at an explicit position. Index 0 prepends, an index equal to the number of definitions appends.
isSame()  : bool
keep()  : Schema
makeNullable()  : self
Makes all schema definitions nullable.
merge()  : self
moveAfter()  : Schema
Moves an existing column to immediately after another column, preserving its definition.
moveBefore()  : Schema
Moves an existing column to immediately before another column, preserving its definition.
moveTo()  : Schema
Moves an existing column to an explicit position, preserving its definition.
normalize()  : array<string|int, array<string|int, mixed>>
prepend()  : Schema
Inserts definitions at the beginning of the schema.
references()  : References
remove()  : Schema
rename()  : Schema
reorder()  : Schema
Reorders columns by name. Any columns not listed keep their relative order and are appended.
replace()  : Schema
setMetadata()  : Schema
Overwrites metadata for a given definition.
sort()  : Schema

Methods

__construct()

public __construct(Definition<string|int, mixed> ...$definitions) : mixed
Parameters
$definitions : Definition<string|int, mixed>

addMetadata()

Adds metadata to a given definition.

public addMetadata(string $definition, string $name, array<string|int, mixed>|bool|float|int|string $value) : Schema
Parameters
$definition : string
$name : string
$value : array<string|int, mixed>|bool|float|int|string
Tags
throws
SchemaDefinitionNotFoundException
Return values
Schema

count()

public count() : int
Return values
int

definitions()

public definitions() : array<string, Definition<string|int, mixed>>
Return values
array<string, Definition<string|int, mixed>>

fromArray()

public static fromArray(array<string|int, mixed> $definitions) : self
Parameters
$definitions : array<string|int, mixed>
Return values
self

fromPipeline()

Detecting schema from the pipeline has several disadvantages.

public static fromPipeline(Pipeline $pipeline, FlowContext $context[, int $maxRows = 1000 ]) : self

First of all, it's expensive, it needs to iterate through the pipeline until it detects types of all columns. In some cases, when a given column is null in the first 1k rows it will anyway return incorrect schema since row 1001 might have an actual value. When dealing with schemaless file formats like CSV or JSON even when first 1k rows will carry value of one type, there is zero guarantee that following rows will do the same.

Whenever it's possible, it's recommended to define schema upfront and pass it to the extractor. This way, whatever process would need to use this method, will do just one iteration.

Parameters
$pipeline : Pipeline
$context : FlowContext
$maxRows : int = 1000
Return values
self

gracefulRemove()

Gracefully remove entries from schema without throwing an exception if entry does not exist.

public gracefulRemove(string|Reference ...$entries) : self
Parameters
$entries : string|Reference
Return values
self

insertAt()

Inserts definitions at an explicit position. Index 0 prepends, an index equal to the number of definitions appends.

public insertAt(int $index, Definition<string|int, mixed> ...$definitions) : Schema
Parameters
$index : int
$definitions : Definition<string|int, mixed>
Tags
throws
InvalidArgumentException
Return values
Schema

isSame()

public isSame(self $schema) : bool
Parameters
$schema : self
Return values
bool

makeNullable()

Makes all schema definitions nullable.

public makeNullable() : self
Return values
self

merge()

public merge(self $schema) : self
Parameters
$schema : self
Return values
self

normalize()

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

prepend()

Inserts definitions at the beginning of the schema.

public prepend(Definition<string|int, mixed> ...$definitions) : Schema
Parameters
$definitions : Definition<string|int, mixed>
Return values
Schema
On this page

Search results