How vbcompetitions/competitions-php works
VBCompetitions/competitions-php is a PHP library for loading, validating, editing, and serializing volleyball competition data, with HTML and iCalendar representations. The main workflow is competition JSON into a competition model, organized as stages, groups, and matches; match results support league standings and knockout progression, then callers can save the model or generate views. The graph also preserves roster/contact and match-official concepts. Source excerpts are partial, so links between unsampled capabilities and their implementations are limited to relationships supported by the README or sampled code.
Main entry points: Competition.php Competition · GroupMatch.php Match and scores · League.php League standings · Group.php Group
Components 20
Competition model
- Competition
src/Competition.php - Stage
src/Stage.php - Group
src/Group.php - Match and scores
src/GroupMatch.php
Import and export
- JSON schema
schema/competition.json - HTML representation
src/HTML.php - Calendar representation
src/ICS.php
Results and formats
- League standings
src/League.php - Knockout format
src/Knockout.php - Crossover format
src/Crossover.php - Unknown teams
src/IfUnknown.php
Teams and people
- Competition teams
src/CompetitionTeam.php - Players
src/Player.php - Clubs
src/Club.php - Contacts
src/Contact.php - Match officials
src/MatchOfficials.php - Match manager
src/MatchManager.php
Other components
- Library caller
- Competition JSON
- Serialized or rendered data
Connections 27
- Library caller → Competition: loads or edits
- Competition JSON → Competition: loads data
- Competition → JSON schema: validates against
- Competition → Stage: organizes stages
- Stage → Group: organizes groups
- Group → Match and scores: contains matches
- Group → Competition: validates team IDs
- League standings → Match and scores: processes results
- League standings → Competition teams: reads team names
- Library caller → League standings: requests standings
- Library caller → Knockout format: uses format
- Library caller → Crossover format: uses format
- Library caller → Unknown teams: queries incomplete state
- Competition → Competition teams: manages teams
- Competition → Players: manages players
- Competition → Clubs: manages clubs
- Competition → Contacts: manages contacts
- Match and scores → Match officials: stores officials
- Match and scores → Match manager: stores manager
- Library caller → HTML representation: requests HTML
- HTML representation → Serialized or rendered data: returns representation
- HTML representation → League standings: reads standings
- Library caller → Calendar representation: requests calendar
- Calendar representation → Competition: reads fixtures
- Calendar representation → Serialized or rendered data: returns calendar data
- Library caller → Serialized or rendered data: saves competition
- Competition → Serialized or rendered data: serializes JSON