1. Go to this page and download the library: Download camoo/curl-http-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
camoo / curl-http-client example snippets
use Camoo\Http\Curl\Infrastructure\Client;
use Camoo\Http\Curl\Domain\Entity\Configuration;
$configuration = Configuration::create();
// activate debug
// $configuration->setDebug(true);
$client = new Client($configuration);
$uri = 'https://api.example.com/v1/users';
$response = $client->get($uri);
$status = $response->getStatusCode();
$body = (string)$response->getBody();
// get all headers
$headers = $response->getHeaders();
// get single header
$header = $response->getHeader('foo');
// get status code
$code = $response->getStatusCode();
## in Module
use Camoo\Http\Curl\Domain\Client\ClientInterface;
use Camoo\Http\Curl\Infrastructure\Client;
$this->bind(ClientInterface::class)->to(Client::class);
## in Adapter port
final class TemplateRepository implements TemplateRepositoryInterface
{
private const URI = 'https://api.example.com/v2/template';
private const SUCCESS_STATUS = 201;
public function __construct(private readonly ClientInterface $client)
{
}
public function save(Template $template): bool
{
$response = $this->client->post(self::URI, $template->toArray());
return $response->getStatusCode() === self::SUCCESS_STATUS;
}
public function getById(string $id): Template
{
$uri = self::URI. '?id=' . $id;
$response = $this->client->get($uri);
if ($response->getStatusCode() !== self::SUCCESS_STATUS){
throw new NotFoundTemplate(sprintf('Template with id %s not found!', $id));
}
$body = (string)$response->getBody();
return Template::fromArray(json_decode($body, true));
}
# ...
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.