Download the PHP package mateusjunges/confluent-schema-registry-api without Composer
On this page you can find all versions of the php package mateusjunges/confluent-schema-registry-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mateusjunges/confluent-schema-registry-api
More information about mateusjunges/confluent-schema-registry-api
Files in mateusjunges/confluent-schema-registry-api
Package confluent-schema-registry-api
Short Description A PHP 7.4+ library to consume the Confluent Schema Registry REST API.
License MIT
Informations about the package confluent-schema-registry-api
Confluent Schema Registry PHP API
A PHP 7.4+ library to consume the Confluent Schema Registry REST API. It provides low level functions to create PSR-7 compliant requests that can be used as well as high level abstractions to ease developer experience.
Contents
- Requirements
- Hard Dependencies
- Optional Dependencies
- Installation
- Compatibility
- Usage
- Asynchronous API
- Synchronous API
- Caching
- Low Level API
- Testing
- Unit tests, Coding standards and static analysis
- Integration tests
- Contributing
Requirements
Hard dependencies
Dependency | Version | Reason |
---|---|---|
php |
~7.4 | Anything lower has reached EOL |
guzzlephp/guzzle |
~7.0 | Using Request to build PSR-7 RequestInterface |
beberlei/assert |
~2.7|~3.0 | The de-facto standard assertions library for PHP |
flix-tech/avro-php |
^4.1 | Maintained fork of the only Avro PHP implementation: rg/avro-php |
Optional dependencies
Dependency | Version | Reason |
---|---|---|
doctrine/cache |
~1.3 | If you want to use the DoctrineCacheAdapter |
psr/cache |
^1.0 | If you want to use the CacheItemPoolAdapter |
psr/simple-cache |
^1.0 | If you want to use the SimpleCacheAdapter |
Installation
This library is installed via composer
.
NOTE
If you are still running on a version less than
5.0.3
we recommend updating it immediately since there was a critical bug with the exception handling.
Compatibility
This library follows strict semantic versioning, so you can expect any minor and patch release to be compatible, while major version upgrades will have incompatibilities that will be released in the UPGRADE.md file.
Usage
Asynchronous API
Interface declaration
Example PromisingRegistry
Synchronous API
Interface declaration
Example BlockingRegistry
Caching
There is a CachedRegistry
that accepts a CacheAdapter
together with a Registry
.
It supports both async and sync APIs.
NOTE:
From version 4.x of this library the API for the
CacheAdapterInterface
has been changed in order to allow caching of schema ids by hash of a given schema.
Example
Low Level API
There is a low-level API that provides simple functions that return PSR-7 request objects for the different endpoints of the registry. See Requests/Functions for more information.
There are also requests to use the new DELETE
API of the schema registry.
Testing
This library uses a Makefile
to run the test suite and requires docker
.
You can set the default variables by copying variables.mk.dist
to variables.mk
and change them to your liking.
Build the local docker image
Unit tests, Coding standards and static analysis
Integration tests
This library uses a docker-compose
configuration to fire up a schema registry for integration testing, hence
docker-compose
from version 1.18.x is required to run those tests.
The platform can be controlled with the following environment variables
Building the confluent platform with a specific version and run the integration tests
Contributing
In order to contribute to this library, follow this workflow:
- Fork the repository
- Create a feature branch
- Work on the feature
- Run tests to verify that the tests are passing
- Open a PR to the upstream
- Be happy about contributing to open source!
All versions of confluent-schema-registry-api with dependencies
ext-curl Version *
ext-json Version *
guzzlehttp/guzzle Version ^7.0
guzzlehttp/promises Version ^2.0
guzzlehttp/psr7 Version ^1.7|^2.1
beberlei/assert Version ~2.7|~3.0
flix-tech/avro-php Version ^5.0