billthekid / punk-api
PHP 对 Punk API 的封装 https://punkapi.com
1.1.2
2017-03-23 23:11 UTC
Requires
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is auto-updated.
Last update: 2024-09-13 16:46:06 UTC
README
PHP 封装查询 PunkAPI https://punkapi.com,由 Sam Mason 提供
此项目的完整 API 文档可在 https://billythekid.github.io/PunkApi/class-billythekid.PunkApi.html 查找
安装
通过 composer composer require billythekid/punk-api
用法
创建客户端的新实例
$punkApi = new billythekid\PunkApi();
或
$punkApi = billythekid\PunkApi::create();
方法
getEndpoint()
根据提供的选项返回将要触发的当前端点。在不实际触发的条件下检查将要触发的内容是很有用的。此方法不可链式调用。
addParams(Array $params)
此方法可链式调用。
向搜索添加参数。支持以下参数键
abv_gt数字 返回所有 ABV 大于数字的啤酒abv_lt数字 返回所有 ABV 小于数字的啤酒ibu_gt数字 返回所有 IBU 大于数字的啤酒ibu_lt数字 返回所有 IBU 小于数字的啤酒ebc_gt数字 返回所有 EBC 大于数字的啤酒ebc_lt数字 返回所有 EBC 小于数字的啤酒beer_name字符串 返回所有与提供的名称匹配的啤酒(这将匹配部分字符串,例如 punk 将返回 Punk IPA)yeast字符串 返回所有与提供的酵母名称匹配的啤酒,这也匹配部分字符串brewed_before日期(字符串) 返回所有在此日期之前酿造的啤酒,日期格式为 mm-yyyy 例如 10-2011brewed_after日期(字符串) 返回所有在此日期之后酿造的啤酒,日期格式为 mm-yyyy 例如 10-2011hops字符串 返回所有与提供的酒花名称匹配的啤酒,这也匹配部分字符串malt字符串 返回所有与提供的麦芽名称匹配的啤酒,这也匹配部分字符串food字符串 返回所有与提供的食物字符串匹配的啤酒,这也匹配部分字符串page数字 返回给定页面的啤酒(响应是分页的)per_page数字 更改每页返回的啤酒数量(默认 - 25)ids字符串 V2 新增 - 用管道分隔的 ID 数字字符串(192|224 等)
以下链式方法可用于更改参数,如果您愿意
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.
示例
//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])
从搜索中删除参数。此方法可链式调用
示例
$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
clearParams()
清空所有参数。此方法可链式调用。
示例
$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
getBeers()
对 API 执行查询,返回啤酒数组。
示例
$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
getRandomBeer() getBeerById($beerId)
从 API 中拉取随机啤酒或通过其 ID 号码拉取特定啤酒
示例
$punkApi = \billythekid\PunkApi::create("PUNK_API_KEY") ->getRandomBeer(); // returns an array with a single beer object (StdObject)
变更日志
v 1.1.2 - 2017 年 3 月 23 日
- 错误修复 - 不传递参数到 :create() 抛出错误
v 1.1.1 - 2017 年 2 月 10 日
- 错误修复 - perPage() 未能正常工作
- 添加更多测试
v 1.1.0 - 2017 年 2 月 10 日
- 非破坏性更新以使用 Punk Api 的默认版本 2
- 更新文档和 README
- 添加
->ids()端点和ids参数 - 添加测试
v 1.0.0 - 2016 年 10 月 15 日
- 首次发布