SingleElimination
extends Tournament
in package
implements
Preset
Single elimination generator
Tags
Interfaces, Classes and Traits
- Preset
- Interface for tournament presets
Table of Contents
- $container : HierarchyContainer
- $expectedCategoryWait : int
- $games : GameContainer
- $id : string|int
- $name : string
- $teams : TeamContainer
- $allowSkip : bool
- $expectedGameWait : int
- $expectedPlay : int
- $expectedRoundWait : int
- __construct() : mixed
- __toString() : string
- addCategory() : $this
- Add one or more category to object
- addGameContainer() : WithGames
- Add a child container for games
- addRound() : $this
- Adds round to the category
- addTeam() : WithTeams
- Add one or more teams into the object.
- addTeamContainer() : WithTeams
- Add a child container for games
- allowSkip() : $this
- Allows round skipping
- category() : Category
- Creates a new category and adds it to the object
- disallowSkip() : $this
- Disallow round skipping
- export() : ExporterInterface
- Prepares a general hierarchy exporter for this hierarchy class
- filterTeams() : array<string|int, mixed>
- Filter teams using the specified filters
- generate() : $this
- Generate all games
- genGamesSimulate() : array<string|int, Game>|int
- Simulate all games as they would be played in reality - with dummy teams
- genGamesSimulateReal() : int|array<string|int, Game>
- Simulate all games as they would be played in reality - with real teams
- getCategories() : array<string|int, Category>
- Get all categories
- getCategoryWait() : int
- Get the wait time between categories
- getContainer() : HierarchyContainer
- Get the hierarchy container
- getGameContainer() : GameContainer
- Get the container for games
- getGames() : array<string|int, Game>
- Get all tournament games
- getGameWait() : int
- Get wait time between games
- getGroups() : array<string|int, Group>
- Get all groups in this object
- getId() : string|int
- Gets the unique identifier of the object
- getName() : string
- Gets the name of the object
- getPlay() : int
- Get play time for one game
- getRounds() : array<string|int, Round>
- Get all rounds in this category
- getRoundWait() : int
- Get wait time between rounds
- getSkip() : bool
- Getter for round skipping
- getTeamContainer() : TeamContainer
- Get the container for games
- getTeams() : array<string|int, Team>
- Get all teams in the object
- getTournamentTime() : int
- Get the whole tournament time
- insertIntoContainer() : $this
- Insert into hierarchical container
- queryCategories() : ContainerQuery
- Get categories container query
- queryGroups() : ContainerQuery
- Get groups container query
- queryRounds() : ContainerQuery
- Get rounds container query
- round() : Round
- Creates a new round and adds it to the category
- setCategoryWait() : $this
- Set the wait time between categories
- setGameAutoincrementId() : WithGames
- Sets a new autoincrement value (start) for the generated games
- setGameWait() : $this
- Set wait time between games
- setId() : self
- Sets the unique identifier of the object
- setName() : self
- Sets the name of the object
- setPlay() : $this
- Set play time for one game
- setResults() : Game|null
- Set the game's results
- setRoundWait() : $this
- Set wait time between rounds
- setSkip() : $this
- Set round skipping
- sortTeams() : array<string|int, Team>
- Sort the teams by their score/points
- splitTeams() : $this
- Split teams into its Groups
- team() : Team
- Create a new team and add it into the object
Properties
$container
protected
HierarchyContainer
$container
$expectedCategoryWait
protected
int
$expectedCategoryWait
= 0
$games
protected
GameContainer
$games
$id
protected
string|int
$id
$name
protected
string
$name
= ''
$teams
protected
TeamContainer
$teams
$allowSkip
private
bool
$allowSkip
= false
$expectedGameWait
private
int
$expectedGameWait
= 0
$expectedPlay
private
int
$expectedPlay
= 0
$expectedRoundWait
private
int
$expectedRoundWait
= 0
Methods
__construct()
public
__construct([string $name = '' ]) : mixed
Parameters
- $name : string = ''
Return values
mixed —__toString()
public
__toString() : string
Return values
string —Name of the object
addCategory()
Add one or more category to object
public
addCategory(Category ...$categories) : $this
Parameters
- $categories : Category
-
Category objects
Return values
$this —addGameContainer()
Add a child container for games
public
addGameContainer(GameContainer $container) : WithGames
Parameters
- $container : GameContainer
Tags
Return values
WithGames —addRound()
Adds round to the category
public
addRound(Round ...$rounds) : $this
Parameters
- $rounds : Round
-
One or more round objects
Return values
$this —addTeam()
Add one or more teams into the object.
public
addTeam(Team ...$teams) : WithTeams
Parameters
- $teams : Team
-
Team objects
Return values
WithTeams —addTeamContainer()
Add a child container for games
public
addTeamContainer(TeamContainer $container) : WithTeams
Parameters
- $container : TeamContainer
Return values
WithTeams —allowSkip()
Allows round skipping
public
allowSkip() : $this
Return values
$this —category()
Creates a new category and adds it to the object
public
category([string $name = '' ][, string|int|null $id = null ]) : Category
Parameters
- $name : string = ''
-
New category name
- $id : string|int|null = null
-
Id of the new category - if omitted -> it is generated automatically as unique string
Return values
Category —New category
disallowSkip()
Disallow round skipping
public
disallowSkip() : $this
Return values
$this —export()
Prepares a general hierarchy exporter for this hierarchy class
public
export() : ExporterInterface
Return values
ExporterInterface —filterTeams()
Filter teams using the specified filters
public
filterTeams(array<string|int, mixed> &$teams, array<string|int, TeamFilter>|array<string|int, array<string|int, TeamFilter>> $filters) : array<string|int, mixed>
Parameters
- $teams : array<string|int, mixed>
-
Teams to filter through
- $filters : array<string|int, TeamFilter>|array<string|int, array<string|int, TeamFilter>>
-
Filters to use
Tags
Return values
array<string|int, mixed> —generate()
Generate all games
public
generate() : $this
Tags
Return values
$this —genGamesSimulate()
Simulate all games as they would be played in reality - with dummy teams
public
genGamesSimulate([bool $returnTime = false ]) : array<string|int, Game>|int
Parameters
- $returnTime : bool = false
-
If true - return the expected play time
Tags
Return values
array<string|int, Game>|int —Generated games, or expected play time
genGamesSimulateReal()
Simulate all games as they would be played in reality - with real teams
public
genGamesSimulateReal([bool $returnTime = false ]) : int|array<string|int, Game>
Parameters
- $returnTime : bool = false
-
If true - return the expected play time
Tags
Return values
int|array<string|int, Game> —Generated games, or expected play time
getCategories()
Get all categories
public
getCategories() : array<string|int, Category>
Return values
array<string|int, Category> —getCategoryWait()
Get the wait time between categories
public
getCategoryWait() : int
Return values
int —getContainer()
Get the hierarchy container
public
getContainer() : HierarchyContainer
Return values
HierarchyContainer —getGameContainer()
Get the container for games
public
getGameContainer() : GameContainer
Return values
GameContainer —getGames()
Get all tournament games
public
getGames() : array<string|int, Game>
Return values
array<string|int, Game> —getGameWait()
Get wait time between games
public
getGameWait() : int
Return values
int —getGroups()
Get all groups in this object
public
getGroups() : array<string|int, Group>
Return values
array<string|int, Group> —getId()
Gets the unique identifier of the object
public
getId() : string|int
Return values
string|int —Unique identifier of the object
getName()
Gets the name of the object
public
getName() : string
Return values
string —Name of the object
getPlay()
Get play time for one game
public
getPlay() : int
Return values
int —getRounds()
Get all rounds in this category
public
getRounds() : array<string|int, Round>
Return values
array<string|int, Round> —getRoundWait()
Get wait time between rounds
public
getRoundWait() : int
Return values
int —getSkip()
Getter for round skipping
public
getSkip() : bool
Return values
bool —getTeamContainer()
Get the container for games
public
getTeamContainer() : TeamContainer
Return values
TeamContainer —getTeams()
Get all teams in the object
public
getTeams([bool $ordered = false ][, string|null $ordering = Constants::POINTS ][, array<string|int, TeamFilter>|array<string|int, array<string|int, TeamFilter>> $filters = [] ]) : array<string|int, Team>
Parameters
- $ordered : bool = false
-
If true - order the teams by their score/points
- $ordering : string|null = Constants::POINTS
-
What to order the teams by - Constants::POINTS, Constants::SCORE
- $filters : array<string|int, TeamFilter>|array<string|int, array<string|int, TeamFilter>> = []
-
Filters to filter the returned teams (ex. if you only want to get the first 3 teams)
Tags
Return values
array<string|int, Team> —getTournamentTime()
Get the whole tournament time
public
getTournamentTime() : int
Return values
int —insertIntoContainer()
Insert into hierarchical container
public
insertIntoContainer(Base $object) : $this
Parameters
- $object : Base
Tags
Return values
$this —queryCategories()
Get categories container query
public
queryCategories() : ContainerQuery
Return values
ContainerQuery —queryGroups()
Get groups container query
public
queryGroups() : ContainerQuery
Return values
ContainerQuery —queryRounds()
Get rounds container query
public
queryRounds() : ContainerQuery
Return values
ContainerQuery —round()
Creates a new round and adds it to the category
public
round([string $name = '' ][, string|int|null $id = null ]) : Round
Parameters
- $name : string = ''
-
Round name
- $id : string|int|null = null
-
Round id - if omitted -> it is generated automatically as unique string
Return values
Round —The newly created round
setCategoryWait()
Set the wait time between categories
public
setCategoryWait(int $wait) : $this
Parameters
- $wait : int
Return values
$this —setGameAutoincrementId()
Sets a new autoincrement value (start) for the generated games
public
setGameAutoincrementId(int $id) : WithGames
Parameters
- $id : int
-
Id - probably from the database
Tags
Return values
WithGames —setGameWait()
Set wait time between games
public
setGameWait(int $wait) : $this
Parameters
- $wait : int
Return values
$this —setId()
Sets the unique identifier of the object
public
setId(string|int $id) : self
Parameters
- $id : string|int
-
Unique identifier of the object
Tags
Return values
self —setName()
Sets the name of the object
public
setName(string $name) : self
Parameters
- $name : string
-
Name of the object
Return values
self —setPlay()
Set play time for one game
public
setPlay(int $play) : $this
Parameters
- $play : int
Return values
$this —setResults()
Set the game's results
public
setResults(array<string|int, int> $results) : Game|null
Results is an array of [teamId => teamScore] key-value pairs. This method will look for a game with given teams and try to set the first not played.
Parameters
- $results : array<string|int, int>
-
array of [teamId => teamScore] key-value pairs
Tags
Return values
Game|null —setRoundWait()
Set wait time between rounds
public
setRoundWait(int $wait) : $this
Parameters
- $wait : int
Return values
$this —setSkip()
Set round skipping
public
setSkip(bool $skip) : $this
Parameters
- $skip : bool
Return values
$this —sortTeams()
Sort the teams by their score/points
public
sortTeams([string|null $ordering = Constants::POINTS ][, array<string|int, TeamFilter>|array<string|int, array<string|int, TeamFilter>> $filters = [] ]) : array<string|int, Team>
Parameters
- $ordering : string|null = Constants::POINTS
-
What to order the teams by - Constants::POINTS, Constants::SCORE
- $filters : array<string|int, TeamFilter>|array<string|int, array<string|int, TeamFilter>> = []
-
Filters to filter the returned teams (ex. if you only want to get the first 3 teams)
Tags
Return values
array<string|int, Team> —splitTeams()
Split teams into its Groups
public
splitTeams(Round ...$wheres) : $this
Parameters
- $wheres : Round
Tags
Return values
$this —team()
Create a new team and add it into the object
public
team([string $name = '' ][, string|int|null $id = null ]) : Team
Parameters
- $name : string = ''
-
Name of the new team
- $id : string|int|null = null
-
Id of the new team - if omitted -> it is generated automatically as unique string
Return values
Team —Newly created team