Dans le cadre de mon projet d'outil météo, afin de simplifier la consommation d'api, j'ai fait un petit client basique basé sur ma lib Dto.
En gros il s'agit d'un wrapper d'appels à l'api qui retourne des objets typés et structurés.
Exemple :
$client = new OwmApiClient("API_KEY", new Psr18Client(), new Psr17Factory());
$onecall = $client->onecall(longitude: 48.86, latitude: 2.23);
var_dump($onecall->daily->getItem(0)->temp->max);
// float(23.5)
Détails
Pour plus de détails techniques, allez voir le README sur Gitlab.