micheleorselli / php-http-client

It's Hacktoberfest!! SendGrid is giving out shirts if you make pull requests!

Home Page:https://dx.sendgrid.com/hacktoberfest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SendGrid Logo

Travis Badge Latest Version on Packagist BuildStatus Email Notifications Badge Twitter Follow GitHub contributors MIT licensed

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.

Table of Contents

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.

License

The MIT License (MIT)

About

It's Hacktoberfest!! SendGrid is giving out shirts if you make pull requests!

https://dx.sendgrid.com/hacktoberfest

License:MIT License


Languages

Language:PHP 100.0%