d

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.

15 St Margarets, NY 10033
(+381) 11 123 4567
ouroffice@aware.com

 

KMF

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 GetForgeServerRequest class:

1use AppHttpSaloonRequestsGetForgeServerRequest;

2 

3$request = new GetForgeServerRequest(serverId: '123456');

4 

5$request->addHeader('Accept', 'application/json');

6$request->addConfig('debug', true);

7 

8// This will overwrite all default headers.

9$request->setHeaders($array);

10// This will overwrite all default configration options.

11$request->setConfig($array);

12 

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:

1use AppHttpSaloonConnectorsForgeConnector;

2use Sammyjo20SaloonConstantsSaloon;

3use Sammyjo20SaloonHttpSaloonRequest;

4 

5class GetForgeServerRequest extends SaloonRequest

6{

7 protected ?string $method = Saloon::GET;

8 protected ?string $connector = ForgeConnector::class;

9 

10 public function defineEndpoint(): string

11 {

12 return '/servers/' . $this->serverId;

13 }

14 

15 public function __construct(

16 public string $serverId

17 ){}

18}

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

Previous Next
Close
Test Caption
Test Description goes like this