kslimani/laravel-geo
最新稳定版本:1.0.4
Composer 安装命令:
composer require kslimani/laravel-geo
包简介
Laravel Geo.
README 文档
README
Laravel Geo
A simple service provider to work with locales, countries and currencies.
It uses the following dependencies :
- florianv/laravel-swap
- kslimani/geo-list (tiny version of umpirsky's projects)
- maxmind/MaxMind-DB-Reader-php
- moneyphp/money
Installation
use Composer to add the package to your project's dependencies :
composer require kslimani/laravel-geo
Note: Swap uses HTTPlug abstraction which may require additional dependencies. For example using Curl :
composer require php-http/curl-client nyholm/psr7 php-http/message
Optionally, adds the Geo facade in config/app.php :
'aliases' => [ // ... 'Geo' => Sk\Geo\Facades\Geo::class, ];
Publish the configuration file config/geo.php :
php artisan vendor:publish --provider="Sk\Geo\GeoServiceProvider" --tag="config"
Optionally, publish Swap service provider configuration file :
php artisan vendor:publish --provider="Swap\Laravel\SwapServiceProvider"
Quick usage
use Sk\Geo\Facades\Geo; // Get country code from ip address (US) $countryCode = Geo::location()->ipCountry('8.8.8.8'); // Get country name (United States) $countryName = Geo::locale()->country($countryCode); // Get country language code (en) $languageCode = Geo::locale()->countryLanguage($countryCode); // Get country language name (English) $languageName = Geo::locale()->language($languageCode); // Get country currency code (USD) $currencyCode = Geo::locale()->countryCurrency($countryCode); // Get country currency name (US Dollar) $currencyName = Geo::locale()->currency($currencyCode); // Make money amount $fiveDollars = Geo::money()->make('500', $currencyCode); // Get amount converted to Euro $euroAmount = Geo::money()->convert($fiveDollars, 'EUR'); // Get formatted amount ("Intl" formatter) $intlFormattedAmount = Geo::money()->format($euroAmount); // Get formatted amount ("Decimal" formatter) $decFormattedAmount = Geo::money()->formatDec($euroAmount); // Parse "Decimal" formatted amount $newEuroAmount = Geo::money()->parse($decFormattedAmount, 'EUR'); // Decompose money amount $keyValueArray = Geo::money()->decompose($fiveDollars); // [ // "locale" => "en" // "subunit" => 2 // "sign" => "+" // "unsigned_part" => "5" // "decimal_part" => "00" // "grouping_separator" => "," // "decimal_separator" => "." // "symbol" => "$" // ] // Get all countries (country code -> name associative array) $countries = Geo::locale()->countries(); // Get all languages (language code -> name associative array) $languages = Geo::locale()->languages(); // Get all currencies (currency code -> name associative array) $currencies = Geo::locale()->currencies(); // All methods returning a name accept an optional locale (default is application locale) Geo::locale()->country('US', 'es'); // 'Estados Unidos' Geo::locale()->language('en', 'de') // 'Englisch' Geo::locale()->currency('USD', 'ru') // 'Доллар США' Geo::locale()->countries('zh') // [ 'BT' => '不丹', 'TL' => '东帝汶', ... ] Geo::money()->format($fiveDollars, 'fr') // '5,00 $US' Geo::money()->decompose($amount, 'fr'); // [ 'locale' => 'fr', ... ] // Get instances using app helper $location = app('geo.location'); $locale = app('geo.locale'); $money = app('geo.money');
Console commands
This package also provides some Artisan console commands :
geo:exchange Simple currency converter
geo:info Display geo data for ip address
geo:list Display countries with default language and currency
geo:maxmind Display Maxmind DB countries with matched geo country name
Note: geo:list and geo:maxmind are mainly used for package development.
统计信息
- 总下载量: 23.05k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 11
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-09-19