Similar Posts
Retrying and Logging Requests with Guzzle
When consuming 3d party API, you may want to do two things: In this article we will look at how to implement the above features using Guzzle, a popular PHP library for making API calls. Let us scaffold our app composer init composer require guzzlehttp/guzzle:~6.0 composer require monolog/monolog composer require –dev phpunit/phpunit:^8 We will be…
Complex Eloquent Query
A query below selects products that need to be updated in a remote application. It takes quantities of products in host application that are connected to source products application. On top of that it looks at all the orders that are in “Pending” status and reserves quantities for those products. SELECT products.quantity_available, connector_products.stock_id, products.id, connector_products.sku,…
API Client Design
When you extensively work with certain APIs, like Shopify’s for example, you will end up with bunch of functions that map to API’s endpoints. One of the approaches I have seen so far is to create an API class ShopifyApi and make those functions class methods. So it looks something like the figure below. I…
Testing with Service Container
The backbone of Laravel is service container. Service container is used for resolving classes and dependency injection. Container comes as a standalone package, so you don’t have to have Laravel installed to use it. Service container can be very handy when testing. Let’s look at how we can use it . Our basic set up…