Download the PHP package somnambulist/api-client without Composer
On this page you can find all versions of the php package somnambulist/api-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download somnambulist/api-client
More information about somnambulist/api-client
Files in somnambulist/api-client
Package api-client
Short Description A library to help ease creating API integrations
License MIT
Informations about the package api-client
Somnambulist API Client Library
The ApiClient library is intended to help build client libraries for consuming JSON APIs. The library provides abstract models for primary resource objects and related value objects. Persistence requests are handled by ApiActions that encapsulate a change request.
Models and ValueObjects make use of somnambulist/attribute-model type casting system.
The library uses Symfony HTTP Client under the hood.
Requirements
- PHP 8.1+
- cURL
- symfony/event-dispatcher
- symfony/http-client
- symfony/routing
Installation
Install using composer, or checkout / pull the files from github.com.
- composer require somnambulist/api-client
Usage
This library provides some building blocks to help you get started with consuming RESTful APIs. Typically, this is for use with a micro-services project where you need to write clients that will be shared amongst other projects.
Please note: this project does not make assumptions about the type of service being used. The included libraries provide suitable defaults, but can be completely replaced by your own implementations.
The docs are available in the docs folder with a suggested reading order as follows:
- upgrade notes 1.X
- upgrade notes 2.X
- upgrade notes 3.X
- adding routes
- defining API connections
- expected JSON structure
- using Models and ValueObjects
- searching and querying
- type casting attributes
- model relationships
- storing data
- recording API responses
Tests
PHPUnit 9+ is used for testing. Run tests via vendor/bin/phpunit
.
Test data was generated using faker and was randomly generated.
Links
All versions of api-client with dependencies
ext-json Version *
beberlei/assert Version ^3.0
psr/log Version ^1|^2|^3
pagerfanta/pagerfanta Version ^3.5
somnambulist/attribute-model Version ^3.0
somnambulist/collection Version ^5.3
symfony/event-dispatcher Version ^6.4|^7.0
symfony/http-client Version ^6.4|^7.0
symfony/routing Version ^6.4|^7.0