Giter VIP home page Giter VIP logo

php-http-client's Introduction

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)

php-http-client's People

Contributors

thinkingserious avatar mazanax avatar budirec avatar goteamtim avatar misantron avatar thepriefy avatar braunson avatar ninsuo avatar alex2sat avatar akeeman avatar taluu avatar ciceropablo avatar emilva avatar rakshans1 avatar prozsolt avatar janczer avatar pushkyn avatar

Watchers

James Cloos avatar Jesse avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.