PHP API Wrapper is a smart stack based on a couple of a Transport and a smart Wrapper for your API. It is designed to be easily integrated into your projects thanks to bridges for Laravel, Symfony, API Platform and a standalone stack.
composer require cristal/php-api-wrapper<?php// Configure your APIuseCristal\ApiWrapper\Model;
useCristal\ApiWrapper\Transports\Basic;
useApp\User;
useCurl\Curl;
$transport = newBasic('username', 'password', 'http://api.example.com/v1/', newCurl);
$api = newApi($transport);
Model::setApi($api);
// Use your model like Eloquent (Usage with Symfony is significantly different)$activedUsers = User::where(['active' => true])->get();
foreach($activedUsersas$user){
$user->active = false;
$user->save();
}If you decide to work without Laravel or Symfony, PHP Api Wrapper comes with a standalone Builder and a Model largely inspired by Eloquent, but really standalone. I promise !
Start without Laravel or Symfony
This is actualy the powerfull usage of API Wrapper. If you decide to use PHP API Wrapper with Laravel the integration approaches perfection. The builder returns Collections, all models are usable with the Laravel Route Binding (this is really impressive). And icing on the cake, you can create complexes relations between Eloquent and PHP API Wrapper.
This implementation is realy interesting too, the Symfony bridge provide you a Repository implementing the Doctrine RepositoryInterface which hydrates your entities. A Manager is also available which allows you to manage repositories and its connections. If you are using API Platform this is fully compatible. A API Platform Data Provider is also registered.