Read from the package's own PHP files at the commit a721353a6494: its namespaces, classes, interfaces and enums, their public constants, properties and methods with their PHPDoc, and the options its factories take. Nothing of it is run.
BroadcastBundleclassA broadcast's site: a programme, its episodes, and for each film of an episode (omnibase/video) what it is - a performance: who (omnibase/music's performers), which song, a cover or not. Written for one music show; no more general than it needed.
3 methods
BroadcastWidgetTypeclassThe dashboard's tile: the titles the import did not understand (`MenuItem::block('broadcast_unrecognised', ...)`).
4 methods
Base\Broadcast\Controller\Admin\Crud
EpisodeCrudControllerclassThe episodes: number, date, picture. They come from the import; the administrators correct them.
5 methods
PerformanceCrudControllerclassWhat each film is. The filter "recognised: no" lists the lives whose title the import did not understand: the administrators give them their song and their artists here.
5 methods
ProfileCrudControllerclassThe artists' pages: their address, their story, their picture (the artist itself is omnibase/music's Performer).
4 methods
ProgrammeCrudControllerclass4 methods
SongCrudControllerclass4 methods
Base\Broadcast\Controller\Client
BroadcastControllerclassThe show's pages: its episodes by year, one episode (the whole show and the order of passage), the artists, one artist, one song and every version of it played on stage, the covers and the duets.
10 methods
Base\Broadcast\DependencyInjection
BroadcastConfigurationclass1 method
BroadcastExtensionclass2 methods
EpisodeclassOne broadcast of the programme: its number, the day it aired, its picture, the whole show as one film when there is one, and what was played, in order (its performances).
20 methods
PerformanceclassWhat one film of an episode is: a song played live (by whom, a cover or their own, a duet), an interview, the whole show, a bonus. The film is omnibase/video's; the people are omnibase/music's performers.
23 methods · 5 constants
ProfileclassAn artist's page on the site. The artist is omnibase/music's Performer (a name, a kind); this is what a page of their own adds: its address, their story, their picture.
13 methods
ProgrammeclassThe show: its name, what it says of itself, the channel its films are on.
11 methods
SongclassA song as it was played on stage, whoever played it: its title and, when it is somebody else's, who made it known. Its page gathers every version.
9 methods
ParsedTitleclassWhat Service\TitleParser read in a film's title.
4 methods · 8 properties
EpisodeRepositoryclass6 methods
PerformanceRepositoryclass9 methods
ProfileRepositoryclass4 methods
ProgrammeRepositoryclass2 methods
SongRepositoryclass2 methods
CatalogueclassThe artists and the songs, found by their names or made: one Performer (omnibase/music) and its Profile for "Jean-Louis Aubert" however often he comes; one Song for a title and who made it known, whoever sings it.
5 methods
TitleParserclassA film's title as the show writes it, read:
3 methods
BroadcastAffinityclassWhat makes two films of a show close, for omnibase/video's suggestions: the same artist (as strong as the same channel: 3) and the same episode (as strong as the same list: 2).
2 methods
BroadcastExtensionclassbroadcast_performance(video) what a film is (its episode, its song, its artists), or null broadcast_profiles(performers) performer id => its page (Profile), for links to the artists
2 methods
Base\Broadcast
BroadcastBundle class
class BroadcastBundle extends AbstractBaseBundle BroadcastBundle.php:15
A broadcast's site: a programme, its episodes, and for each film of an episode (omnibase/video) what it is - a performance: who (omnibase/music's performers), which song, a cover or not. Written for one music show; no more general than it needed.
BroadcastBundle::__construct()
public function __construct()BroadcastBundle::getPath()
public function getPath(): stringBroadcastBundle::build()
public function build(ContainerBuilder $container): voidBase\Broadcast\Admin\Widget
BroadcastWidgetType class
final class BroadcastWidgetType implements DashboardWidgetTypeInterface BroadcastWidgetType.php:12
The dashboard's tile: the titles the import did not understand (MenuItem::block('broadcast_unrecognised', ...)).
BroadcastWidgetType::__construct()
public function __construct(readonly PerformanceRepository $performances, readonly EntityManagerInterface $entityManager)BroadcastWidgetType::getName()
public static function getName(): stringBroadcastWidgetType::getTemplate()
public function getTemplate(): stringBroadcastWidgetType::getTemplateVars()
public function getTemplateVars(MenuItem $widget): arrayBase\Broadcast\Controller\Admin\Crud
EpisodeCrudController class
class EpisodeCrudController extends AbstractCrudController EpisodeCrudController.php:17
The episodes: number, date, picture. They come from the import; the administrators correct them.
EpisodeCrudController::getEntityFqcn()
public static function getEntityFqcn(): stringEpisodeCrudController::getPreferredIcon()
public static function getPreferredIcon(): ?stringEpisodeCrudController::configureFields()
public function configureFields(string $pageName): iterableEpisodeCrudController::configureActions()
public function configureActions(Actions $actions): ActionsEpisodeCrudController::createEntity()
public function createEntity(string $entityFqcn): objectPerformanceCrudController class
class PerformanceCrudController extends AbstractCrudController PerformanceCrudController.php:21
What each film is. The filter "recognised: no" lists the lives whose title the import did not understand: the administrators give them their song and their artists here.
PerformanceCrudController::getEntityFqcn()
public static function getEntityFqcn(): stringPerformanceCrudController::getPreferredIcon()
public static function getPreferredIcon(): ?stringPerformanceCrudController::configureFilters()
public function configureFilters(Filters $filters): FiltersPerformanceCrudController::configureFields()
public function configureFields(string $pageName): iterablePerformanceCrudController::configureActions()
public function configureActions(Actions $actions): ActionsProfileCrudController class
class ProfileCrudController extends AbstractCrudController ProfileCrudController.php:15
The artists' pages: their address, their story, their picture (the artist itself is omnibase/music's Performer).
ProfileCrudController::getEntityFqcn()
public static function getEntityFqcn(): stringProfileCrudController::getPreferredIcon()
public static function getPreferredIcon(): ?stringProfileCrudController::configureFields()
public function configureFields(string $pageName): iterableProfileCrudController::configureActions()
public function configureActions(Actions $actions): ActionsProgrammeCrudController class
class ProgrammeCrudController extends AbstractCrudController ProgrammeCrudController.php:14
ProgrammeCrudController::getEntityFqcn()
public static function getEntityFqcn(): stringProgrammeCrudController::getPreferredIcon()
public static function getPreferredIcon(): ?stringProgrammeCrudController::configureFields()
public function configureFields(string $pageName): iterableProgrammeCrudController::configureActions()
public function configureActions(Actions $actions): ActionsSongCrudController class
class SongCrudController extends AbstractCrudController SongCrudController.php:12
SongCrudController::getEntityFqcn()
public static function getEntityFqcn(): stringSongCrudController::getPreferredIcon()
public static function getPreferredIcon(): ?stringSongCrudController::configureFields()
public function configureFields(string $pageName): iterableSongCrudController::configureActions()
public function configureActions(Actions $actions): ActionsBase\Broadcast\Controller\Client
BroadcastController class
class BroadcastController extends AbstractController BroadcastController.php:23
The show's pages: its episodes by year, one episode (the whole show and the order of passage), the artists, one artist, one song and every version of it played on stage, the covers and the duets.
BroadcastController::__construct()
public function __construct(readonly EpisodeRepository $episodes, readonly PerformanceRepository $performances, readonly ProfileRepository $profiles, readonly SongRepository $songs, readonly ?ProgrammeRepository $programmes = null, readonly ?string $programme = null)BroadcastController::episodes()
public function episodes(Request $request): ResponseBroadcastController::episode()
public function episode(int $number): ResponseBroadcastController::artists()
public function artists(): ResponseBroadcastController::artist()
public function artist(string $slug): ResponseBroadcastController::songs()
public function songs(): ResponseBroadcastController::song()
public function song(string $slug): ResponseBroadcastController::covers()
public function covers(): ResponseBroadcastController::duets()
public function duets(): ResponseBroadcastController::decades()
public static function decades(array $years): array- Returns
decade (1990) => its years, the latest decade first
Base\Broadcast\DependencyInjection
BroadcastConfiguration class
class BroadcastConfiguration extends AbstractBaseConfiguration BroadcastConfiguration.php:8
BroadcastConfiguration::getConfigTreeBuilder()
public function getConfigTreeBuilder(): TreeBuilderBroadcastExtension class
class BroadcastExtension extends AbstractBaseExtension BroadcastExtension.php:11
BroadcastExtension::getConfiguration()
public function getConfiguration(array $config, ContainerBuilder $container): BroadcastConfigurationBroadcastExtension::load()
public function load(array $configs, ContainerBuilder $container): voidBase\Broadcast\Entity
Episode class
class Episode Episode.php:16
One broadcast of the programme: its number, the day it aired, its picture, the whole show as one film when there is one, and what was played, in order (its performances).
Episode::__construct()
public function __construct(Programme $programme, int $number)Episode::__toString()
public function __toString(): stringEpisode::getId()
public function getId(): ?intEpisode::getProgramme()
public function getProgramme(): ProgrammeEpisode::getNumber()
public function getNumber(): intEpisode::getTitle()
public function getTitle(): ?stringEpisode::setTitle()
public function setTitle(?string $title): selfEpisode::getAiredAt()
public function getAiredAt(): ?\DateTimeInterfaceEpisode::setAiredAt()
public function setAiredAt(?\DateTimeInterface $airedAt): selfEpisode::getYear()
public function getYear(): ?intEpisode::getImage()
public function getImage(): ?stringEpisode::setImage()
public function setImage(?string $image): selfEpisode::getFull()
public function getFull(): ?VideoEpisode::setFull()
public function setFull(?Video $full): selfEpisode::getOrigin()
public function getOrigin(): ?stringEpisode::setOrigin()
public function setOrigin(?string $origin): selfEpisode::getPerformances()
public function getPerformances(): CollectionEpisode::addPerformance()
public function addPerformance(Performance $performance): selfEpisode::getByKind()
public function getByKind(string ...$kinds): array- Returns
the performances of one kind (Performance::LIVE...), in order
Episode::getPerformers()
public function getPerformers(): array- Returns
who was on stage, once each, in order of appearance
Performance class
class Performance Performance.php:17
What one film of an episode is: a song played live (by whom, a cover or their own, a duet), an interview, the whole show, a bonus. The film is omnibase/video's; the people are omnibase/music's performers.
const LIVE = 'live'const INTERVIEW = 'interview'const FULL = 'full'const BONUS = 'bonus'const KINDS = [self::LIVE, self::INTERVIEW, self::FULL, self::BONUS]
Performance::__construct()
public function __construct(Episode $episode, Video $video, string $kind = self::LIVE, int $position = 0)Performance::__toString()
public function __toString(): stringPerformance::getId()
public function getId(): ?intPerformance::getEpisode()
public function getEpisode(): EpisodePerformance::getVideo()
public function getVideo(): VideoPerformance::getPosition()
public function getPosition(): intPerformance::setPosition()
public function setPosition(int $position): selfPerformance::getKind()
public function getKind(): stringPerformance::setKind()
public function setKind(string $kind): selfPerformance::isLive()
public function isLive(): boolPerformance::getSong()
public function getSong(): ?SongPerformance::setSong()
public function setSong(?Song $song): selfPerformance::isCover()
public function isCover(): boolPerformance::setCover()
public function setCover(bool $cover): selfPerformance::isDuet()
public function isDuet(): boolTwo artists or more on one song.
Performance::getPerformers()
public function getPerformers(): CollectionPerformance::addPerformer()
public function addPerformer(Performer $performer): selfPerformance::removePerformer()
public function removePerformer(Performer $performer): selfPerformance::getBilling()
public function getBilling(): string"Jean-Louis Aubert / Santa"
Performance::getRawTitle()
public function getRawTitle(): ?stringPerformance::setRawTitle()
public function setRawTitle(?string $rawTitle): selfPerformance::isRecognised()
public function isRecognised(): boolPerformance::setRecognised()
public function setRecognised(bool $recognised): selfProfile class
class Profile Profile.php:14
An artist's page on the site. The artist is omnibase/music's Performer (a name, a kind); this is what a page of their own adds: its address, their story, their picture.
Profile::__construct()
public function __construct(Performer $performer, string $slug)Profile::__toString()
public function __toString(): stringProfile::getId()
public function getId(): ?intProfile::getPerformer()
public function getPerformer(): PerformerProfile::getName()
public function getName(): stringProfile::getSlug()
public function getSlug(): stringProfile::setSlug()
public function setSlug(string $slug): selfProfile::getBiography()
public function getBiography(): ?stringProfile::setBiography()
public function setBiography(?string $biography): selfProfile::getImage()
public function getImage(): ?stringProfile::setImage()
public function setImage(?string $image): selfProfile::isLooked()
public function isLooked(): boolProfile::setLooked()
public function setLooked(bool $looked): selfProgramme class
class Programme Programme.php:10
The show: its name, what it says of itself, the channel its films are on.
Programme::__construct()
public function __construct(?string $name = null, ?string $slug = null)Programme::__toString()
public function __toString(): stringProgramme::getId()
public function getId(): ?intProgramme::getSlug()
public function getSlug(): ?stringProgramme::setSlug()
public function setSlug(?string $slug): selfProgramme::getName()
public function getName(): ?stringProgramme::setName()
public function setName(?string $name): selfProgramme::getDescription()
public function getDescription(): ?stringProgramme::setDescription()
public function setDescription(?string $description): selfProgramme::getChannel()
public function getChannel(): ?ChannelProgramme::setChannel()
public function setChannel(?Channel $channel): selfSong class
class Song Song.php:12
A song as it was played on stage, whoever played it: its title and, when it is somebody else's, who made it known. Its page gathers every version.
Song::__construct()
public function __construct(?string $title = null, ?string $originalArtist = null, ?string $slug = null)Song::__toString()
public function __toString(): stringSong::getId()
public function getId(): ?intSong::getSlug()
public function getSlug(): ?stringSong::setSlug()
public function setSlug(?string $slug): selfSong::getTitle()
public function getTitle(): ?stringSong::setTitle()
public function setTitle(?string $title): selfSong::getOriginalArtist()
public function getOriginalArtist(): ?stringSong::setOriginalArtist()
public function setOriginalArtist(?string $originalArtist): selfBase\Broadcast\Model
ParsedTitle class
final class ParsedTitle ParsedTitle.php:8
What Service\TitleParser read in a film's title.
public readonly string $rawpublic readonly string $kindpublic readonly array $artistsin the order of the billing
public readonly ?string $songpublic readonly ?string $originalArtistpublic readonly ?int $yearpublic readonly array $noteswhat else stood in brackets ("Inédit à la TV")
public readonly bool $recognised
ParsedTitle::__construct()
public function __construct(public readonly string $raw, public readonly string $kind, public readonly array $artists = [], public readonly ?string $song = null, public readonly ?string $originalArtist = null, public readonly ?int $year = null, public readonly array $notes = [], public readonly bool $recognised = true)$artistsin the order of the billing
$noteswhat else stood in brackets ("Inédit à la TV")
ParsedTitle::isLive()
public function isLive(): boolParsedTitle::isCover()
public function isCover(): boolSomebody else's song: an original artist named who is not on stage.
ParsedTitle::isDuet()
public function isDuet(): boolBase\Broadcast\Repository
EpisodeRepository class
class EpisodeRepository extends ServiceEntityRepository EpisodeRepository.php:11
EpisodeRepository::__construct()
public function __construct(ManagerRegistry $registry)EpisodeRepository::findOneByNumber()
public function findOneByNumber(int $number, ?\Base\Broadcast\Entity\Programme $programme = null): ?EpisodeThe episode of that number in a programme: a number is unique within one programme only. Null: in any programme (the first found).
EpisodeRepository::findLatest()
public function findLatest(int $limit = 12, int $offset = 0): array- Returns
the last aired first
EpisodeRepository::findByYear()
public function findByYear(int $year): arrayEpisodeRepository::countByYear()
public function countByYear(): array- Returns
year => episodes, the latest year first
EpisodeRepository::findAnniversary()
public function findAnniversary(int $years = 30, ?\DateTimeInterface $today = null, int $days = 3): array"Il y a trente ans cette semaine": the episodes aired $years years ago, within three days of today's date - or, when none was, the closest one of that year.
PerformanceRepository class
class PerformanceRepository extends ServiceEntityRepository PerformanceRepository.php:15
PerformanceRepository::__construct()
public function __construct(ManagerRegistry $registry)PerformanceRepository::findOneForVideo()
public function findOneForVideo(Video $video): ?PerformancePerformanceRepository::findForPerformer()
public function findForPerformer(Performer $performer, array $kinds = [Performance::LIVE], int $limit = 200): array- Returns
an artist's, the latest first; $kinds: live, interview...
PerformanceRepository::findForSong()
public function findForSong(Song $song): array- Returns
every version of a song played on stage, the first one first
PerformanceRepository::findCovers()
public function findCovers(int $limit = 12): array- Returns
the covers, the most seen first
PerformanceRepository::findDuets()
public function findDuets(int $limit = 12): array- Returns
the duets, the most seen first
PerformanceRepository::findUnrecognised()
public function findUnrecognised(int $limit = 50): array- Returns
the lives whose title was not understood
PerformanceRepository::countUnrecognised()
public function countUnrecognised(): intPerformanceRepository::findGroups()
public function findGroups(array $videoIds): arrayFor the suggestions: each film's artists and episode.
ProfileRepository class
class ProfileRepository extends ServiceEntityRepository ProfileRepository.php:11
ProfileRepository::__construct()
public function __construct(ManagerRegistry $registry)ProfileRepository::findOneFor()
public function findOneFor(Performer $performer): ?ProfileProfileRepository::findAllByName()
public function findAllByName(): array- Returns
every artist, by name
ProfileRepository::findFor()
public function findFor(iterable $performers): array- Returns
performer id => profile
ProgrammeRepository class
class ProgrammeRepository extends ServiceEntityRepository ProgrammeRepository.php:10
ProgrammeRepository::__construct()
public function __construct(ManagerRegistry $registry)ProgrammeRepository::findCurrent()
public function findCurrent(?string $slug = null): ?ProgrammeThe site's programme: the one named, or the first.
SongRepository class
class SongRepository extends ServiceEntityRepository SongRepository.php:11
SongRepository::__construct()
public function __construct(ManagerRegistry $registry)SongRepository::findWithSeveralVersions()
public function findWithSeveralVersions(int $limit = 24): arrayThe songs played more than once on stage, the most played first.
Base\Broadcast\Service
Catalogue class
class Catalogue Catalogue.php:18
The artists and the songs, found by their names or made: one Performer (omnibase/music) and its Profile for "Jean-Louis Aubert" however often he comes; one Song for a title and who made it known, whoever sings it.
What it makes in one run is remembered, so nothing is made twice before the flush.
Catalogue::__construct()
public function __construct(readonly EntityManagerInterface $entityManager)Catalogue::slug()
public static function slug(string $text): stringCatalogue::artist()
public function artist(string $name): ProfileCatalogue::song()
public function song(string $title, ?string $originalArtist = null): SongThe song of that title. The same title by another original artist is another song; a version that does not say whose it is joins the one that exists.
Catalogue::reset()
public function reset(): voidForget what was remembered (after an EntityManager::clear()).
TitleParser class
class TitleParser TitleParser.php:26
A film's title as the show writes it, read:
Artiste A / Artiste B "Chanson" (Interprète d'origine) (Année)
gives the artists in their billing order, the song, who made it known
(so: a cover, when they are not on stage), the year; two artists or more
are a duet. Also read: Interview A / B (1993), Taratata Extra : A
"Chanson" (2024) (a bonus, with its song), a medley ("Ta Main" / "Toi
+ Moi"), brackets inside a title ("(Sittin' On) The Dock Of The Bay"),
a note that is no artist ((Inédit à la TV)), a bracket left open
((1993), a quote left open ("Caravane (2025)).
The section the film is filed under (Live, Interview, Extra, Backstage, Teaser...) says its kind. A live whose title has no song in quotes is not recognised: it keeps the artists it was filed under and is listed in the back office.
TitleParser::parse()
public function parse(string $title, ?string $section = null, array $filedUnder = []): ParsedTitle$filedUnderthe artists the film is filed under, when its title does not name them
TitleParser::kind()
public static function kind(?string $section, string $title = ''): stringTitleParser::artists()
public static function artists(string $text): array- Returns
"A / B" in the order written, once each
Base\Broadcast\Suggest
BroadcastAffinity class
final class BroadcastAffinity implements AffinityInterface BroadcastAffinity.php:13
What makes two films of a show close, for omnibase/video's suggestions: the same artist (as strong as the same channel: 3) and the same episode (as strong as the same list: 2).
BroadcastAffinity::__construct()
public function __construct(readonly PerformanceRepository $performances)BroadcastAffinity::groups()
public function groups(array $videos): arrayBase\Broadcast\Twig
BroadcastExtension class
class BroadcastExtension extends AbstractExtension BroadcastExtension.php:17
broadcast_performance(video) what a film is (its episode, its song, its artists), or null broadcast_profiles(performers) performer id => its page (Profile), for links to the artists
BroadcastExtension::__construct()
public function __construct(readonly PerformanceRepository $performances, readonly ProfileRepository $profiles)BroadcastExtension::getFunctions()
public function getFunctions(): array