Tournament Generator

GameContainer extends BaseContainer

Class GameContainer

Special container for games.

Tags
author

Tomáš Vojík vojik@wboy.cz

since
0.4

Table of Contents

$id  : string|int
$autoIncrement  : int
$children  : array<string|int, mixed>
$currentIndex  : int
$firstIncrement  : 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
fromArray()  : BaseContainer
Create a new container from array
get()  : array<string|int, mixed>
Get all values from the container - including child nodes
getAutoIncrement()  : int
getFirstIncrement()  : int
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
ids()  : ContainerQuery
Get only the object's ids
incrementId()  : void
Increments the auto-incremented id
insert()  : $this
Insert a value into container
insertFlat()  : $this
Insert a value into container
key()  : int
Return the current key
next()  : void
Move pointer to next
only()  : ContainerQuery
Pluck a specific key from all values
resetAutoIncrement()  : GameContainer
Resets the autoincrement number for games to the FirstIncrement
rewind()  : void
Rewind the iterator
setAutoIncrement()  : GameContainer
Sets the autoincrement number for games
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
whereId()  : ContainerQuery
Filter results to only contain those with a specific ID

Properties

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, GameContainer...$containers) : $this
Parameters
$containers : array<string|int, GameContainer>
Tags
post

Parent container is set for the added children

post

Autoincrement value is propagated to added child containers

throws
Exception
Return values
$this

count()

Returns the value count

public count() : int
Return values
int

current()

Get the current value

public current() : mixed
Return values
mixed

fromArray()

Create a new container from array

public static fromArray(array<string|int, mixed> $data) : BaseContainer
Parameters
$data : array<string|int, mixed>
Tags
throws
Exception
Return values
BaseContainer

get()

Get all values from the container - including child nodes

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

All values

getAutoIncrement()

public getAutoIncrement() : int
Tags
since
0.5
Return values
int

getFirstIncrement()

public getFirstIncrement() : int
Tags
since
0.5
Return values
int

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>

getTopLevel()

Get all top-level values from the container

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

All values

incrementId()

Increments the auto-incremented id

public incrementId([GameContainer|null $sender = null ]) : void
Parameters
$sender : GameContainer|null = null
Tags
post

Propagates to all children but the sender

post

Propagates to the parent if not the sender

since
0.5
Return values
void

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
post

If the value has a container -> add it to the hierarchy

throws
Exception
Return values
$this

insertFlat()

Insert a value into container

public insertFlat(array<string|int, mixed> ...$values) : $this
Parameters
$values : array<string|int, mixed>

Any value to insert into container

Tags
throws
Exception
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

only()

Pluck a specific key from all values

public only(string $property) : ContainerQuery
Parameters
$property : string

Property, array key or method to extract from values

Tags
throws
Exception
Return values
ContainerQuery

resetAutoIncrement()

Resets the autoincrement number for games to the FirstIncrement

public resetAutoIncrement([GameContainer|null $sender = null ]) : GameContainer
Parameters
$sender : GameContainer|null = null
Tags
post

Propagates to all children but the sender

post

Propagates to the parent if not the sender

since
0.5
Return values
GameContainer

rewind()

Rewind the iterator

public rewind() : void
Return values
void

setAutoIncrement()

Sets the autoincrement number for games

public setAutoIncrement(int $autoIncrement) : GameContainer
Parameters
$autoIncrement : int
Tags
post

The value is propagated to child containers

post

The firstIncrement value is set too

since
0.5
Return values
GameContainer

sortBy()

Sort a result set by a given property

public sortBy(string $property) : ContainerQuery
Parameters
$property : string
Tags
warning

Sort callback has a priority.

Return values
ContainerQuery

valid()

Check if the current value exists

public valid() : bool
Return values
bool

Search results