iiannov/larasquare

一个简单且可扩展的基于Guzzle 6的Foursquare API PHP客户端,支持Laravel

0.1.0 2015-10-02 09:58 UTC

This package is auto-updated.

Last update: 2024-09-17 02:19:16 UTC


README

Latest Version on Packagist Software License Total Downloads

一个简单且可扩展的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)。有关更多信息,请参阅许可文件