2017 © Pedro Peláez
 

library punk-api

PHP Wrapper for the Punk API https://punkapi.com

image

billythekid/punk-api

PHP Wrapper for the Punk API https://punkapi.com

  • Sunday, February 11, 2018
  • by billythekid
  • Repository
  • 1 Watchers
  • 4 Stars
  • 18 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

PunkApi

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads composer.lock available, (*1)

PHP wrapper to query the PunkAPI https://punkapi.com by Sam Mason, (*2)

Full API docs for this project available at https://billythekid.github.io/PunkApi/class-billythekid.PunkApi.html, (*3)

Installation

via composer composer require billythekid/punk-api, (*4)

Usage

Create a new instance of the client, (*5)

$punkApi = new billythekid\PunkApi();

or, (*6)

$punkApi = billythekid\PunkApi::create();

Methods

getEndpoint()

Returns the current endpoint that will be hit based on the options provided. Good to check what'll be hit without actually hitting it. This method is not chainable., (*7)

-, (*8)

addParams(Array $params)

This method is chainable., (*9)

Add parameters to the search. The following parameter keys are supported: * abv_gt number Returns all beers with ABV greater than the number * abv_lt number Returns all beers with ABV less than the number * ibu_gt number Returns all beers with IBU greater than the number * ibu_lt number Returns all beers with IBU less than the number * ebc_gt number Returns all beers with EBC greater than the number * ebc_lt number Returns all beers with EBC less than the number * beer_name string Returns all beers matching the supplied name (this will match partial strings as well so e.g punk will return Punk IPA) * yeast string Returns all beers matching the supplied yeast name, this also matches partial strings * brewed_before date(string) Returns all beers brewed before this date, the date format is mm-yyyy e.g 10-2011 * brewed_after date(string) Returns all beers brewed after this date, the date format is mm-yyyy e.g 10-2011 * hops string Returns all beers matching the supplied hops name, this also matches partial strings * malt string Returns all beers matching the supplied malt name, this also matches partial strings * food string Returns all beers matching the supplied food string, this also matches partial strings * page number Return the beers from the page given (responses are paginated) * per_page number Change the number of beers returned per page (default - 25) * ids string New for V2 - pipe separated string of ID numbers (192|224 etc), (*10)

The following chainable methods can be used to alter the parameters if you prefer

abvAbove($number)
abvBelow($number)
ibuAbove($number)
ibuBelow($number)
ebcAbove($number)
ebcBelow($number)
named($beerName)
yeast($yeastName)
brewedBefore($date)
brewedAfter($date)
hops($hopsName)
malt($maltName)
food($foodName)
page($pageNumber)
perPage($number)
ids($ids) // can pass an array of ids instead of piping them into a string here.

Examples

//get all beers with an ABV between 4 and 9, called *punk*
$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY")
  ->addParams(['abv_gt' => 4, 'abv_lt' => 9])
  ->addParams(['beer_name' => "punk"])
  ->getEndpoint(); // https://api.punkapi.com/v2/beers?abv_gt=4&abv_lt=9&beer_name=punk

//Chained method for same result
$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY")
  ->abvAbove(4)
  ->abvBelow(9)
  ->named("punk")
  ->getEndpoint(); // https://api.punkapi.com/v2/beers?abv_gt=4&abv_lt=9&beer_name=punk

removeParams($param1 [, $param2, ..., $paramN])

Removes parameters from the search. This method is chainable, (*11)

Example

$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY")
    ->addParams(['abv_gt' => 4, 'abv_lt' => 9])
    ->addParams(['beer_name' => "punk"])
    ->removeParams('beer_name', 'abv_gt')
    ->addParams(['ibu_lt'=> 100])
    ->getEndpoint(); // https://api.punkapi.com/v2/beers?abv_lt=9&ibu_lt=100

-, (*12)

clearParams()

Empties all the parameters. This method is chainable., (*13)

Example

$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY")
    ->addParams(['abv_gt' => 4, 'abv_lt' => 9])
    ->addParams(['beer_name' => "punk"])
    ->clearParams()
    ->getEndpoint(); //https://api.punkapi.com/v2/beers

-, (*14)

getBeers()

Perform a query on the API, returns an array of beers., (*15)

Example

$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY")
    ->addParams(['abv_gt' => 4, 'abv_lt' => 9])
    ->addParams(['beer_name' => "punk"])
    ->removeParams('beer_name', 'abv_gt')
    ->addParams(['ibu_lt'=> 100])
    ->getBeers(); // returns a PHP array of beer objects - see the Example JSON Response at https://punkapi.com/documentation

-, (*16)

getRandomBeer()
getBeerById($beerId)

Pull a random beer from the API or pull a specific beer from the API by it's ID number, (*17)

Example

$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY")
    ->getRandomBeer(); // returns an array with a single beer object (StdObject) 

Changelog

v 1.1.2 - Mar 23, 2017
  • Bugfix - not passing a param to :create() threw an error
v 1.1.1 - Feb 10, 2017
  • Bugfix - perPage() wasn't working properly
  • Added more tests
v 1.1.0 - Feb 10, 2017
  • Non-breaking update to use version 2 of the Punk Api by default
  • Updated docs and readme
  • Added ->ids() endpoint and ids paramater
  • Added tests
v 1.0.0 - Oct 15, 2016
  • Initial release

The Versions

11/02 2018

dev-master

9999999-dev

PHP Wrapper for the Punk API https://punkapi.com

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar billythekid

24/03 2017

1.1.2

1.1.2.0

PHP Wrapper for the Punk API https://punkapi.com

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar billythekid

11/02 2017

1.1.1

1.1.1.0

PHP Wrapper for the Punk API https://punkapi.com

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar billythekid

10/02 2017

1.1.0

1.1.0.0

PHP Wrapper for the Punk API https://punkapi.com

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar billythekid

15/10 2016

1.0.0

1.0.0.0

PHP Wrapper for the Punk API https://punkapi.com

  Sources   Download

MIT

The Requires

 

by Avatar billythekid