An open API service indexing awesome lists of open source software.

https://github.com/wrk-flow/php-api-sdk-builder

This package helps you build PHP clients for external APIs with dependency injection and type strict code in mind.
https://github.com/wrk-flow/php-api-sdk-builder

api api-builder dependency-injection laravel php8

Last synced: 7 months ago
JSON representation

This package helps you build PHP clients for external APIs with dependency injection and type strict code in mind.

Awesome Lists containing this project

README

          

### Build unified APIs with dependency injection and strict code in mind.

```bash
composer require wrkflow/php-api-sdk-builder
```

> This package is still in its early stages. But the main concepts will probably remain same.

This package helps you build PHP clients for external APIs with dependency injection and type strict code in mind.

## Why to use?

- If you want to consume external API without losing type strict code (Data transfer objects instead of array keys).
- If you work with multiple APIs and want to use the same conventions.
- If you want to provide type strict way to build request parameters.
- If you want to save time building HTTP/s request.

## Features

![img](https://img.shields.io/badge/PHPStan-8-blue)
![php](https://img.shields.io/badge/PHP-8.1-B0B3D6)
![coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/pionl/bdae700e21749c3532d7961f1d8b252b/raw/coverage.json)

- 🛠 Dependency injection using your favorite framework (Laravel, _PR for more_)
- ✅ Uses PSR packages you already use for HTTP/S communication
- 🏆 Forcing type strict implementation for input (request options) and output (`Response`)
- 🎗 Encouraging `Data transfer objects`
- 🎭 Re-usable and configurable headers using objects

[📖 Read the documentation](https://php-sdk-builder.wrk-flow.com)

## APIs packages

> List of APIs made with this package

- Maggelano Channel manager - _TODO_

## Development

For development read [CONTRIBUTIONS](https://php-sdk-builder.wrk-flow.com/contributions)