middlewares/geolocation
最新稳定版本:v3.2.0
Composer 安装命令:
composer require middlewares/geolocation
包简介
Middleware to geolocate the client using the ip address
README 文档
README
![SensioLabs Insight][ico-sensiolabs]
Middleware to geolocate the client using the ip address and Geocoder and save the result as a request attribute.
Requirements
- PHP >= 7.0
- A PSR-7 http library
- A PSR-15 middleware dispatcher
- A PHP-HTTP adapter, for example Guzzle6
- A Geocoder ip-based provider
Installation
This package is installable and autoloadable via Composer as middlewares/geolocation.
composer require middlewares/geolocation
Example
$freeGeoIpProvider = new Geocoder\Provider\FreeGeoIp($adapter); $dispatcher = new Dispatcher([ new Middlewares\Geolocation($freeGeoIpProvider), function ($request) { //Get the client location $location = $request->getAttribute('client-location'); $country = $location->first()->getCountry(); } ]); $response = $dispatcher->dispatch(new ServerRequest());
Options
__construct(Geocoder\Provider\Provider $provider)
The geocoder provider used to geolocate the client.
It's also recommended to configure it to caching responses.
ipAttribute(string $ipAttribute)
By default uses the REMOTE_ADDR server parameter to get the client ip. This option allows to use a request attribute. Useful to combine with a ip detection middleware, for example client-ip.
attribute(string $attribute)
The attribute name used to store the client addresses in the server request. By default is client-location.
Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.
The MIT License (MIT). Please see LICENSE for more information.
统计信息
- 总下载量: 8.53k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 0
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-10