Write API Integrations in Laravel and PHP Projects with Saloon
Saloon is a Laravel/PHP package that allows you to write your API integrations in a beautiful, standardized syntax. At the heart of this package is request objects, which define how to get specific requests from an API. For example, to get a Laravel Forge server, you might define a
3$request = new GetForgeServerRequest(serverId: '123456');
8// This will overwrite all default headers.
10// This will overwrite all default configration options.
13// Send the request and get the response body
14$response = $request->send();
15$data = $response->json();
And here’s what the request class might look like:
5class GetForgeServerRequest extends SaloonRequest
7 protected ?string $method = Saloon::GET;
8 protected ?string $connector = ForgeConnector::class;
10 public function defineEndpoint(): string
12 return '/servers/' . $this->serverId;
15 public function __construct(
16 public string $serverId
You can also define default headers for the request via a
defaultHeaders() method defined on a request class, which is merged with the base connector headers.
This package gives you an object-oriented, fluent system to work with, providing conventions to organize classes better around interacting with external APIs. Saloon works with both Laravel and any PHP project (PHP 8+) via composer, providing the following features:
- Simple syntax, standardizes the way you interact with APIs
- You don’t have to worry about Guzzle/Http Facade/cURL
- Organize all your API integrations in one place
- Easily add on your own functionality with plugins
- Powerful interceptor logic to customize the response
- Supports Guzzle Handlers for unlimited customization
- Mocking requests for testing (Coming Soon)
- Framework agnostic
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
Credit: Source link