...
WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Библиотека Laravel GeoIP – определение геолокации по IP-адресу

695

Хотите узнать геолокацию посетителей с помощью Laravel? Используя библиотеку GeoIP, вы можете узнать геолокацию пользователя по его IP-адресу. В этой статье мы обсуждаем библиотеку, которая легко интегрирует GeoIP в приложение Laravel.

Есть несколько случаев, когда вам нужно получить подробную информацию о географическом положении ваших посетителей. Эти данные включают широту, долготу, часовой пояс, страну, валюту и т.д.

Один из примеров использования геолокации – интернет-магазины. В вашем магазине вы можете отображать разные цены и валюты в зависимости от страны или региона посетителя. Другой пример: кому-то нужно заблокировать свои веб-сайты для нескольких стран.

При этом давайте посмотрим, как найти геолокацию с помощью IP-адреса в Laravel.

Установка библиотеки Laravel GeoIP

Для начала вам необходимо установить библиотеку Laravel Geoip. Установите библиотеку с помощью команды:

composer require torann/geoip

После установки библиотеки зарегистрируйте поставщика услуг в своем приложении. Откройте config/app.phpи добавьте поставщиков услуг в массив поставщиков.

'providers' => [
    ......
    TorannGeoIPGeoIPServiceProvider::class,
 
]

Затем добавьте фасад в массив псевдонимов.

'aliases' => [
    ....
    'GeoIP' => TorannGeoIPFacadesGeoIP::class,
 
];

После вышеуказанных шагов опубликуйте конфигурацию с помощью команды:

php artisan vendor:publish --provider="TorannGeoIPGeoIPServiceProvider" --tag=config

Эта команда публикует файл конфигурации в config/geoip.php.

Узнайте геолокацию с помощью IP-адреса

Мы все настроены на получение данных о геолокации с использованием IP-адреса. Библиотека предоставляет метод, которому необходимо передать фактический IP-адрес. Взамен вы получаете информацию о геолокации IP-адреса.

Поместите приведенный ниже код в свое приложение, чтобы получить подробную информацию об IP.

$arr_ip = geoip()->getLocation('YOUR_IP_ADDRESS_HERE');
print_r($arr_ip);
echo $arr_ip->country; // get a country
echo $arr_ip->currency; // get a currency

При использовании библиотеки возможно появление ошибки «Это хранилище кеша не поддерживает тегирование» с исключением BadMethodCallException. Если это так, просто измените строку ниже из config/geoip.phpфайла.

Заменять

'cache_tags' => ['torann-geoip-location'],

С участием

Очистите кеш конфигурации с помощью команды:

php artisan config:cache

Теперь попробуйте еще раз запустить свой код. На этот раз вы должны получить результат.

Надеюсь, вы узнали, как интегрировать GeoIP на веб-сайт Laravel. Пожалуйста, поделитесь своими мыслями и предложениями в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее