iiannov / larasquare
一个简单且可扩展的基于Guzzle 6的Foursquare API PHP客户端,支持Laravel
0.1.0
2015-10-02 09:58 UTC
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ~6.0
This package is auto-updated.
Last update: 2024-09-17 02:19:16 UTC
README
一个简单且可扩展的Foursquare API PHP客户端,基于Guzzle 6,支持Laravel Facade和ServiceProvider。目前它只支持无用户端点请求。
安装
通过Composer
$ composer require iivannov/larasquare
在Laravel中使用
要使用Laravel Facade,您需要在您的config\app.php
文件中添加ServiceProvider和Facade类
'providers' => [ ... Iivannov\Larasquare\Provider\LarasquareServiceProvider::class, ]; 'aliases' => [ ... 'Larasquare' => Iivannov\Larasquare\Facade\Larasquare::class ];
您需要在config\services.php
文件中添加您的Foursquare客户端ID和密钥
'foursquare' => [ 'clientId' => YOUR_FOURSQUARE_CLIENT_ID, 'clientSecret' => YOUR_FOURSQUARE_CLIENT_SECRET ]
之后,您可以直接使用Laravel Facade
$venues = Larasquare::venues($searchQuery);
标准用法
$config = [ clientId = YOUR_FOURSQUARE_CLIENT_ID, clientSecretT = YOUR_FOURSQUARE_CLIENT_SECRET, apiUrl = FOURSQUARE_API_URL, //optional version = SUPPORTED_VERSION, //optional, format: YYYYMMDD ]; $foursquare = new Foursquare($config); $venues = $foursquare->venues($searchQuery);
查询过滤器
如果您需要生成、过滤或转换您的搜索查询,您可以将所有逻辑提取到一个单独的类中,该类实现Iivannov\Larasquare\Filter\FilterContract
,然后使用setFilter()
方法注入。
$venues = Larasquare::setFilter(new MyFilter())->venues();
将您的过滤器逻辑放在parse()方法中。它将自动接收搜索方法中传递的查询。您可以重写值、从您自定义的数组中生成值或执行您需要的任何操作。返回的数组将随Foursquare请求发送。
/** * Generate, transform or filter your search query * * @param $query * @return array */ public function parse($query = []) { return [ 'll' => $query['location']['lat'] . ',' . $query['location']['lon'], 'query' => $query['searchTerm'], 'near' => $_GET['nearLocation'], 'radius' => 200 ]; }
方法
**本库未涵盖的端点** 您可以使用request
方法查询Foursquare端点。
// get venue photos $response = Larasquare::request("venues/$venueId/photos") // get details about a tip, $response = Larasquare::request("tips/$tipId")
**搜索场所**
//Laravel $venues = Larasquare::venues($query);
**获取单个场所**
$venues = Larasquare::venue($venueId);
**其他场所方法**
// get suggestion @see https://developer.foursquare.com/docs/venues/suggestcompletion $venues = Larasquare::suggest($searchQuery); // get trending @see https://developer.foursquare.com/docs/venues/trending $venues = Larasquare::trending($searchQuery);
许可协议
MIT许可协议(MIT)。有关更多信息,请参阅许可文件。