Download the PHP package mt-olympus/hermes without Composer
On this page you can find all versions of the php package mt-olympus/hermes. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mt-olympus/hermes
More information about mt-olympus/hermes
Files in mt-olympus/hermes
Package hermes
Short Description REST API Client using Hal
License MIT
Homepage https://github.com/mt-olympus/hermes
Informations about the package hermes
Hermes
Hermes is a php library to consume Restful APIs using Hal, like Apigility.
It is the main IPC method for other Olympus services.
Can be used with pure PHP or any PHP framework, like ZendFramework 2 and Zend-Expressive.
Requirements
- PHP >= 7.2
- Laminas Http >= 2.4
- Laminas ServiceManager >= 2.5
- nocarrier/hal >= 0.9
You can add the module hermes-loslog to log the requests.
Installation
Using composer (recommended)
Configuration
You need to configure at least the Api URI.
If using a framework that implements container-interopt
, you can use the following configuration:
Copy the hermes.global.php.dist from this module to your application's config folder and make the necessary changes.
For more information about the http-client options, please check the official documentation at Laminas\Http\Client options.
Usage
Creating the client
You can use the Hermes\Api\ClientFactory
usign the above configuration or manually:
Injecting a Cerberus Circuit Breaker
You can use the client with a circuit breaker to control failures and success and avoid uncessary attempts.
More information about cerberus on it's own repository.
Single resource
Collection
Paginator
This module provides a paginator helper.
You can easily loop through the pages:
You can use the Paginator with a Zend Framework 2 application:
Events
The client triggers an event before (request.pre) and after (request.post) a request and you can attach to them. More info about events on zend-eventmanager.
Request Id
The client automatically adds a X-Request-Id to each request, but only if there is no previous X-Request-Id added.
You can force a new id with:
All versions of hermes with dependencies
ext-json Version *
ext-mbstring Version *
los/cerberus Version ^1.0
nocarrier/hal Version ^0.9
ramsey/uuid Version ^3.4
laminas/laminas-diactoros Version ^2.0
laminas/laminas-eventmanager Version ^3.2
laminas/laminas-http Version ^2.7
laminas/laminas-servicemanager Version ^3.3