mini\Table\ArrayTable class

Documentation

Pure PHP array-backed in-memory table implementation

Unlike InMemoryTable which uses SQLite as a backend, this implementation stores all data in PHP arrays. Useful for benchmarking and environments without SQLite extension.

$table = new ArrayTable(
    new ColumnDef('id', ColumnType::Int, IndexType::Primary),
    new ColumnDef('name', ColumnType::Text),
);

$table->insert(['id' => 1, 'name' => 'Alice']);

Inheritance

Extends: mini\Table\AbstractTable

Implements: mini\Table\Contracts\TableInterface Traversable Countable IteratorAggregate mini\Table\Contracts\SetInterface mini\Table\Contracts\MutableTableInterface

Properties (8)

private array $rows
private int $nextRowId
private array $indexes
private array $where
private array $orderBy
protected ?Closure $compareFn
protected ?int $limit
protected int $offset

Methods (50)

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Convert a value to an index key based on column type.

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Plan an index scan based on filters and ordering

Check if row matches a specific list of filters

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Get column name(s) that the row key represents

Get the string comparison function for sorting

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Get the current table alias (null if not set)

Documentation missing

Documentation missing

Documentation missing

Filter rows matching any of the given predicates (OR semantics)

Documentation missing

Check if value(s) exist in the table's projected columns

Get the primary key column definition (cached)

Iterate over rows with visible columns only

Get columns available for output

Get all column definitions regardless of projection

Narrow to specific columns

Get a property value

Check if a property exists (including null values)

Return table with property set

Source

src/Table/ArrayTable.php:31-668