PHPackages                             steffenbrem/mango-sdk-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. steffenbrem/mango-sdk-php

ActiveLibrary[API Development](/categories/api)

steffenbrem/mango-sdk-php
=========================

116PHP

Since Dec 15Pushed 9y ago1 watchersCompare

[ Source](https://github.com/steffenbrem/mango-sdk-php)[ Packagist](https://packagist.org/packages/steffenbrem/mango-sdk-php)[ RSS](/packages/steffenbrem-mango-sdk-php/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

> This is something I needed for my own projects and decided to open source it since it may be useful for others! It is still in very early stages, so use it on your own risk.

A PHP client for JSON-API compliant API's
=========================================

[](#a-php-client-for-json-api-compliant-apis)

I don't like working with transformed json arrays. I want them to be simple POPO's (Plain Old PHP Objects). Inspired by Doctrine I used proxies to achieve lazy loading and using a simple UOW (Unit Of Work) that is aware of the objects created. Utilizing the idea of an identity map there are no unnecessary http requests.

It can also manage refresh tokens for you! So when the current access/refresh token set is not valid anymore, it can automatically requests new ones without you having to do this manually.

### Simple example

[](#simple-example)

```
$registry = new ResourceRegistry();
$registry->add('posts', Post::class);
$registry->add('comments', Comment::class);

$client = new Client($registry, 'your_client_id', 'your_client_secret');

// You will get a php array containing `Post` objects
$posts = $client->query('posts', [
    'page' => 2,
    'limit' => 4
];

echo $posts->getTitle();

// if the comments where not included in the response, it will lazy load them for you!
// there has to be a relationship link for has-many, for simply belongs-to it isn't required.
foreach ($posts->getComments() as $comment) {
    echo $comment->getMessage();
}

// find single comment by id
$comment = $client->find('comments', 4);

// lazy load the related post. If this was the same post we requested earlier it will fetch it from the identity map to prevent a http request.
echo $comment->getPost()->getTitle();
```

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1cee8b0807644941f18adb7154d6c8e86df45d65fa23ee4d4d97eacf63978f67?d=identicon)[steffenbrem](/maintainers/steffenbrem)

---

Top Contributors

[![koemeet](https://avatars.githubusercontent.com/u/1569156?v=4)](https://github.com/koemeet "koemeet (12 commits)")

### Embed Badge

![Health badge](/badges/steffenbrem-mango-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/steffenbrem-mango-sdk-php/health.svg)](https://phpackages.com/packages/steffenbrem-mango-sdk-php)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k12](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
