wrkflow / php-api-sdk-builder
This package helps you build PHP clients for external APIs with dependency injection and type strict code in mind.
Fund package maintenance!
pionl
Installs: 3 472
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 17
Requires
- php: >=8.1
- guzzlehttp/psr7: ^2.5
- php-http/discovery: ^1.14
- psr/http-client: ^1.0.1
- psr/http-message: ^1.0.1 || ^2.0
- wrkflow/php-get-typed-value: ^0.8.2
Requires (Dev)
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.4
- http-interop/http-factory-guzzle: ^1.2
- laravel/framework: ^9.25
- laravel/telescope: v4.14.2
- league/flysystem: ^3.14
- mockery/mockery: ^1.5.1
- nyholm/psr7: ^1.8.0
- orchestra/testbench: v7.26.1
- php-http/mock-client: ^1.6
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-mockery: ^1.1
- phpstan/phpstan-phpunit: 1.3
- phpunit/phpunit: 9.5.21
- rector/rector: 0.17.7
- symplify/easy-coding-standard: 11.5.0
Suggests
- laravel/framework: SDKs work great with Laravel - solid container.
- wrkflow/larastrict: Improve your Laravel code base with strict conventions.
This package is auto-updated.
Last update: 2024-11-19 13:16:15 UTC
README
Build unified APIs with dependency injection and strict code in mind.
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
- 🛠 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
APIs packages
List of APIs made with this package
- Maggelano Channel manager - TODO
Development
For development read CONTRIBUTIONS