jroedel / zf-snap-geoip
Zend Framework 3 的 MaxMind GeoIP 模块
3.0.0
2017-06-17 01:26 UTC
Requires
- php: ^5.6 || ^7.0
- geoip/geoip: ^1.17
- zendframework/zend-console: ^2.6
- zendframework/zend-eventmanager: ^3.1
- zendframework/zend-filter: ^2.7
- zendframework/zend-hydrator: ^2.2
- zendframework/zend-modulemanager: ^2.7
- zendframework/zend-mvc: ^3.0
- zendframework/zend-servicemanager: ^3.3
- zendframework/zend-view: ^2.8
Requires (Dev)
- phpunit/phpunit: ^5.7
- zendframework/zend-config: ^3.1
- zendframework/zend-i18n: ^2.7
- zendframework/zend-log: ^2.9
- zendframework/zend-serializer: ^2.8
This package is not auto-updated.
Last update: 2024-09-20 19:55:38 UTC
README
Maxmind Geoip 模块,用于 Zend Framework 2
由 Witold Wasiczko 创建
使用方法
默认的 ZfSnapGeoip 返回由当前用户 IP 地址创建的 Record 对象。
在控制器中
$record = $this->getServiceLocator()->get('geoip')->getRecord(); echo $record->getCity();
$record = $this->getServiceLocator()->get('geoip')->getRecord('216.239.51.99'); echo $record->getLongitude(); echo $record->getLatitude();
通过视图助手
返回当前 IP 的城市名称
<?php echo $this->geoip() ?>
返回给定 IP 的国家名称
<?php echo $this->geoip('184.106.35.179')->getCountryName() ?>
您还可以实现 \ZfSnapGeoip\IpAwareInterface
接口,然后在服务/助手中使用实例
<?php echo $this->geoip($user)->getTimezone() ?>
通过 \ZfSnapGeoip\Entity\Record
提供可用的获取方法
getAreaCode()
getCity()
getContinentCode()
getCountryCode()
getCountryCode3()
getCountryName()
getDmaCode()
getLatitude()
getLongitude()
getMetroCode()
getPostalCode()
getRegion()
getRegionName()
getTimezone()
事件
模块支持 \Zend\EventManager
。
如何安装?
{ "require": { "snapshotpl/zf-snap-geoip": "2.*" } }
并将 ZfSnapGeoip
模块名称添加到 application.config.php 中
要从 http://dev.maxmind.com/geoip/legacy/geolite/ 下载数据文件,请使用 Zend\Console
(您可以将此添加到 crontab)
php index/public.php geoip download
或在使用 composer 安装/更新时自动更新数据库(只需将这些行添加到 composer.json 中并运行 composer)
{ "scripts": { "post-install-cmd": [ "ZfSnapGeoip\\Composer\\ScriptHandler::downloadData" ], "post-update-cmd": [ "ZfSnapGeoip\\Composer\\ScriptHandler::downloadData" ] } }
控制台使用方法
您可以从应用程序控制台下载 GeoIP 数据库
php public/index.php geoip download
有一些可选参数
--no-clobber
不要覆盖现有的数据库文件-q
关闭输出