BaseContainer
in package
implements
Countable, Iterator
Class BaseContainer
Container is a helper class for a tree-like structure. It can be used to create a hierarchy and store objects.
Tags
Interfaces, Classes and Traits
- Countable
- Iterator
Table of Contents
- $id : string|int
- $children : array<string|int, mixed>
- $currentIndex : int
- $parent : BaseContainer|null
- $values : array<string|int, mixed>
- __construct() : mixed
- BaseContainer constructor.
- addChild() : $this
- Adds a child container
- addSorter() : ContainerQuery
- count() : int
- Returns the value count
- current() : mixed
- Get the current value
- filter() : ContainerQuery
- Add a filter callback
- get() : array<string|int, mixed>
- Get all values from the container - including child nodes
- getLeafIds() : array<string|int, string>|array<string|int, int>
- Gets all ids of the leaf containers
- getParent() : BaseContainer|null
- Get a parent container
- getQuery() : ContainerQuery
- getTopLevel() : array<string|int, mixed>
- Get all top-level values from the container
- getTopLevelQuery() : ContainerQuery
- insert() : $this
- Insert a value into container
- key() : int
- Return the current key
- next() : void
- Move pointer to next
- rewind() : void
- Rewind the iterator
- setParent() : BaseContainer
- Set a container's parent
- sort() : ContainerQuery
- Sort a result using a callback - maintaining the index association
- sortBy() : ContainerQuery
- Sort a result set by a given property
- unique() : ContainerQuery
- Get only unique values
- valid() : bool
- Check if the current value exists
Properties
$id
public
string|int
$id
$children
protected
array<string|int, mixed>
$children
= []
$currentIndex
protected
int
$currentIndex
= 0
$parent
protected
BaseContainer|null
$parent
$values
protected
array<string|int, mixed>
$values
= []
Methods
__construct()
BaseContainer constructor.
public
__construct(string|int $id[, BaseContainer $parent = null ]) : mixed
Parameters
- $id : string|int
- $parent : BaseContainer = null
Return values
mixed —addChild()
Adds a child container
public
addChild(array<string|int, BaseContainer> ...$containers) : $this
Parameters
- $containers : array<string|int, BaseContainer>
Tags
Return values
$this —addSorter()
public
addSorter(BaseSorter $sorter) : ContainerQuery
Parameters
- $sorter : BaseSorter
Return values
ContainerQuery —count()
Returns the value count
public
count() : int
Return values
int —current()
Get the current value
public
current() : mixed
Return values
mixed —filter()
Add a filter callback
public
filter(Closure $callback) : ContainerQuery
Parameters
- $callback : Closure
Return values
ContainerQuery —get()
Get all values from the container - including child nodes
public
get() : array<string|int, mixed>
Return values
array<string|int, mixed> —All values
getLeafIds()
Gets all ids of the leaf containers
public
getLeafIds() : array<string|int, string>|array<string|int, int>
Return values
array<string|int, string>|array<string|int, int> —getParent()
Get a parent container
public
getParent() : BaseContainer|null
Tags
Return values
BaseContainer|null —getQuery()
public
getQuery() : ContainerQuery
Return values
ContainerQuery —getTopLevel()
Get all top-level values from the container
public
getTopLevel() : array<string|int, mixed>
Return values
array<string|int, mixed> —All values
getTopLevelQuery()
public
getTopLevelQuery() : ContainerQuery
Return values
ContainerQuery —insert()
Insert a value into container
public
insert(array<string|int, mixed> ...$values) : $this
Parameters
- $values : array<string|int, mixed>
-
Any value to insert into container
Tags
Return values
$this —key()
Return the current key
public
key() : int
Return values
int —next()
Move pointer to next
public
next() : void
Return values
void —rewind()
Rewind the iterator
public
rewind() : void
Return values
void —setParent()
Set a container's parent
public
setParent(BaseContainer|null $parent) : BaseContainer
Parameters
- $parent : BaseContainer|null
Tags
Return values
BaseContainer —sort()
Sort a result using a callback - maintaining the index association
public
sort(Closure $callback) : ContainerQuery
Parameters
- $callback : Closure
Return values
ContainerQuery —sortBy()
Sort a result set by a given property
public
sortBy(string $property) : ContainerQuery
Parameters
- $property : string
Tags
Return values
ContainerQuery —unique()
Get only unique values
public
unique() : ContainerQuery
Return values
ContainerQuery —valid()
Check if the current value exists
public
valid() : bool