Skip to content

Falseclock/php-http-client

Repository files navigation

Travis Badge

Quickly and easily access any RESTful or RESTful-like API.

If you are looking for the SendGrid API client library, please see this repo.

Announcements

All updates to this library is documented in our CHANGELOG.

Installation

Prerequisites

  • PHP version 5.6 or 7.0

Install with Composer

Add php-http-client to your composer.json file. If you are not using Composer, you should be. It's an excellent way to manage dependencies in your PHP application.

{
  "require": {
    "sendgrid/php-http-client": "~3.8"
  }
}

Then at the top of your PHP script require the autoloader:

require __DIR__ . '/vendor/autoload.php';

Then from the command line:

composer install

Install without Composer

You should create directory lib in directory of your application and clone to lib repositories php-http-client and sendgrid-php:

$ cd /path/to/your/app
$ mkdir lib
$ cd lib
$ git clone https://github.com/sendgrid/php-http-client.git
$ git clone https://github.com/sendgrid/sendgrid-php.git

In the next step you should create loader.php:

$ cd /path/to/your/app
$ touch loader.php

And add to loader.php code below:

<?php

require_once __DIR__ . '/lib/php-http-client/lib/Client.php';
require_once __DIR__ . '/lib/php-http-client/lib/Response.php';
require_once __DIR__ . '/lib/sendgrid-php/lib/SendGrid.php';

After it you can use php-http-client library in your project:

<?php

include __DIR__ . '/loader.php';

$client = new SendGrid\Client();

Quick Start

Here is a quick example:

GET /your/api/{param}/call

// include __DIR__ . '/loader.php';
require 'vendor/autoload.php';
$global_headers = array(Authorization: Basic XXXXXXX);
$client = new SendGrid\Client('base_url', global_headers);
$response = $client->your()->api()->_($param)->call()->get();
print $response->statusCode();
print $response->headers();
print $response->body();

POST /your/api/{param}/call with headers, query parameters and a request body with versioning.

// include __DIR__ . '/loader.php';
require 'vendor/autoload.php';
$global_headers = array(Authorization: Basic XXXXXXX);
$client = new SendGrid\Client('base_url', global_headers);
$query_params = array('hello' => 0, 'world' => 1);
$request_headers = array('X-Test' => 'test');
$data = array('some' => 1, 'awesome' => 2, 'data' => 3);
$response = $client->your()->api()->_($param)->call()->post('data',
                                                            'query_params',
                                                            'request_headers');
print $response->statusCode();
print $response->headers();
print $response->body();

Usage

Roadmap

If you are interested in the future direction of this project, please take a look at our milestones. We would love to hear your feedback.

How to Contribute

We encourage contribution to our libraries, please see our CONTRIBUTING) guide for details.

Quick links:

Thanks

We were inspired by the work done on birdy and universalclient.

About

php-http-client is guided and supported by the SendGrid Developer Experience Team.

php-http-client is maintained and funded by SendGrid, Inc. The names and logos for php-http-client are trademarks of SendGrid, Inc.

SendGrid Logo

About

SendGrid's PHP HTTP Client for calling APIs

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.1%
  • Dockerfile 0.9%