bigperson / laravel-vk-geo
从vk.com API解析国家、地区和城市
0.1.4
2019-07-12 13:20 UTC
Requires
- php: >=5.5.9
- atehnix/vk-client: ^1.0.0
- laravel/framework: ~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
This package is auto-updated.
Last update: 2024-09-13 00:13:18 UTC
README
此包提供了一种方便的方法,使用vk.com API导入国家、地区和城市。
此包使用atehnix/vk-client执行请求。使用的是同步请求,如果您想不断更新数据,请使用包atehnix/laravel-vk-requester
内容
- 安装
- 导入数据
- 使用
安装
您可以使用composer安装此包
composer require bigperson/laravel-vk-geo
然后需要在config/app.php中注册新的服务提供者
... 'providers' => [ ... Bigperson\VkGeo\VkGeoServiceProvider::class, ], ...
配置
首先需要创建数据库中的必要表,可以使用Artisan导入包中的迁移文件
php artisan vendor:publish --provider=Bigperson\VkGeo\VkGeoServiceProvider
还会创建一个名为config/vk-geo.php的配置文件。之后需要应用迁移
php artisan migrate
在.env文件中添加您的vk应用程序的数据
VKONTAKTE_KEY=
VKONTAKTE_SECRET=
VKONTAKTE_REDIRECT_URI=
还需要获取应用程序的令牌(在哪里获取API令牌?)并将其添加到.env
VKONTAKTE_TOKEN=
或者可以在config/vk-geo.php中重定义令牌。
导入通过控制台进行。
导入所有国家
php artisan vk:import-countries
导入地区
导入所有国家的地区
php artisan vk:import-regions
也可以按id导入特定国家的数据
php artisan vk:import-regions --countryId=1 --countryId=2
导入城市
按国家导入城市
php artisan vk:import-cities --countryId=1 --countryId=2
按地区导入城市
php artisan vk:import-cities --regionId=1014032 --regionId=1048584
如果您需要导入所有国家和所有地区的数据,则可以启动不带参数的命令,但这种做法尚未经过测试,可能会出现与VK服务器响应相关的错误。您也可以创建自定义命令,继承自原始命令。
使用
使用此包非常简单。包中包含城市、地区和国家的Eloquent模型(City, Region, Country)。您可以在控制器中调用这些模型
namespace App\Http\Controllers; use Bigperson\VkGeo\Models\City; class Controller { protected function show($name){ $city = City::where('title', $name)->first(); } }
每个模型都有title
和id
,城市有area
(区域),模型之间也设置了关系。如有需要,您也可以重定义它们。