erdaldemirci / larasquarev
一个简单且可扩展的基于Guzzle 6的Foursquare API PHP客户端,支持Laravel
0.1.5
2021-07-29 18:45 UTC
Requires
- php: >=7.4.0
- guzzlehttp/guzzle: ~7.0
README
一个简单且可扩展的Foursquare API PHP客户端,基于Guzzle 7,支持Laravel Facade和ServiceProvider。目前它仅支持无用户端点请求。
安装
通过Composer
$ composer require erdaldemirci/larasquarev
在Laravel中使用
要使用Laravel Facade,您需要将ServiceProvider和Facade类添加到您的config\app.php
'providers' => [ ... Erdaldemirci\Larasquarev\Provider\LarasquareServiceProvider::class, ]; 'aliases' => [ ... 'Larasquarev' => Erdaldemirci\Larasquarev\Facade\Larasquare::class ];
您需要在config\services.php
中添加您的Foursquare客户端ID和密钥
'foursquare' => [ 'clientId'. => YOUR_FOURSQUARE_CLIENT_ID, 'clientSecret' => YOUR_FOURSQUARE_CLIENT_SECRET 'version' => 20200101, //example 'intent' => 'global', //global or null ]
之后,您可以直接使用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);
查询过滤器
如果您需要生成、过滤或转换您的搜索查询,您可以将所有逻辑提取到一个单独的类中,该类实现Erdaldemirci\Larasquarev\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)。有关更多信息,请参阅许可证文件。