Open source · 2026 – dosud Projekt 5 z 20
AniPHP
AniList v PHP: GraphQL dotazy skládané kódem, výsledky jako objekty.
Otevřít web
Ověřený stav webu: Běží, odezva 38 ms,
Ve zkratce
- Role
- Autor
- Období
- 2026 – dosud
- Stav
- V provozu
- Technologie
- 5 technologií
AniPHP obaluje veřejné GraphQL API AniListu. Místo ručně psaných řetězců s dotazem a procházení vnořených polí dostane vývojář plynulý skladač dotazů a výsledky jako objekty s typy. Knihovnu doprovází dokumentace na aniphp.lausman.dev s instalací, prvním dotazem a živým hřištěm.
Proč je to technicky zajímavé
- Skladač dotazů. Proměnné se deklarují s typem z výčtu (Int, String, [String]), operace a vnořená pole se skládají voláním metod. Typ proměnné tak nejde napsat s překlepem a dotaz zůstává čitelný i uvnitř PHP.
- Model podle schématu AniListu. 35 tříd kopíruje typy z API – Media, Title, CoverImage, Studio, Staff, Character, AiringSchedule, Recommendation a další – a továrna z odpovědi skládá objekty s typovanými vlastnostmi.
- Bez konfigurace. Veřejné dotazy nepotřebují token, takže první vyhledávání je otázka pár řádků.
- Hřiště nad živým API. Formulář v dokumentaci spouští na serveru stejnou metodu AnimeRepository::search(), jakou popisuje návod, proti skutečnému AniListu.
Co není vidět
- Hlídaný vstup. Hřiště je veřejná cesta na cizí službu, proto omezuje délku dotazu i počet výsledků a dospělé tituly z vyhledávání vynechává.
- Přísná CSP. Prohlížeč s AniListem nemluví přímo, dotaz jde přes server. Stránka tak vystačí s Content Security Policy, která povoluje spojení jen na vlastní doménu a obrázky jen z CDN AniListu.
Technologie
- PHP 8.1+ – výčty pro typy proměnných a typované vlastnosti modelu.
- Guzzle – HTTP klient pro volání API.
- GraphQL – AniList API v2.
- Composer – instalace jako balíček.
Ukázky
4 snímky
Postaveno na
- PHP 8.1+
- GraphQL
- Guzzle
- AniList API
- Composer