Download the PHP package carsdotcom/php-request-class without Composer
On this page you can find all versions of the php package carsdotcom/php-request-class. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download carsdotcom/php-request-class
More information about carsdotcom/php-request-class
Files in carsdotcom/php-request-class
Package php-request-class
Short Description Structure the logic around Guzzle API requests into object-oriented classes
License MIT
Informations about the package php-request-class
php-request-class
Structure the logic around Guzzle API requests into object-oriented classes
What?
We maintain an application that is reliant on dozens of REST APIs, most of which do not have SDKs.
We love Guzzle! But most of the documentation assumes that making a request is "easy," just a few lines of code.
But we've discovered in our own use that the structure around that Guzzle request can run into hundreds of lines, managing pre-requisites like authentication, converting data between our internal types and our partners' types, etc.
So we created AbstractRequest
as a standardized way to:
- Organize logic into classes.
- Provide swappable traits for encoding and decoding (XML, JSON, forms, even simplified GraphQL!)
- Log everything using Laravel's File facade
- Cache using Laravel's Cache facade (with a simple automatic cache key generator)
- Provide a structure for chainable prerequisites (like authentication)
- Provide a structure for catching exceptions and parsing responses back into your internal logic
- Let you defer decisions about call order or synchronous/asynchronous processing to the user of the request class
Running the Tests
Install the dev dependencies:
Then run phpunit from the root of the project:
All versions of php-request-class with dependencies
ext-simplexml Version *
php Version ^8.1
guzzlehttp/guzzle Version ^7.5
laravel/framework Version ^9.19 || ^10.0 || ^11.0