Biblioteca Laravel GeoIP – Descubra a geolocalização usando o endereço IP
Quer saber a geolocalização de visitantes usando o Laravel? Usando a biblioteca GeoIP, você pode descobrir a geolocalização de um usuário por seu endereço IP. Neste artigo, discutimos uma biblioteca que integra facilmente o GeoIP no aplicativo Laravel.
Existem alguns casos em que você precisa obter detalhes sobre a localização geográfica de seus visitantes. Esses detalhes incluem latitude, longitude, fuso horário, país, moeda, etc.
Um exemplo de uso de geolocalização são as lojas online. Em sua loja, você pode querer exibir preços e moedas diferentes com base no país ou região do visitante. Outro exemplo é se alguém precisa bloquear seus sites para alguns países.
Dito isso, vamos dar uma olhada em como encontrar a geolocalização usando o endereço IP do Laravel.
Instalação da Biblioteca Laravel GeoIP
Para começar, você precisa instalar a biblioteca Laravel Geoip. Instale a biblioteca usando o comando:
composer require torann/geoip
Após a instalação da biblioteca, registre o provedor de serviços com seu aplicativo. Abra config/app.php
e adicione provedores de serviços à matriz de provedores.
'providers' => [
......
TorannGeoIPGeoIPServiceProvider::class,
]
Em seguida, adicione a fachada na matriz aliases.
'aliases' => [
....
'GeoIP' => TorannGeoIPFacadesGeoIP::class,
];
Após as etapas acima, publique a configuração usando o comando:
php artisan vendor:publish --provider="TorannGeoIPGeoIPServiceProvider" --tag=config
Este comando publica um arquivo de configuração para config/geoip.php
.
Descubra a geolocalização usando o endereço IP
Estamos prontos para obter detalhes de geolocalização usando um endereço IP. A biblioteca fornece um método para o qual você precisa passar o endereço IP real. Em troca, você obtém as informações de geolocalização de um endereço IP.
Coloque o código abaixo em seu aplicativo para obter detalhes de um 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
Ao usar a biblioteca, pode ser possível obter o erro ‘Este armazenamento de cache não suporta marcação’ com BadMethodCallException. Em caso afirmativo, apenas altere a linha abaixo do config/geoip.php
arquivo.
Substituir
'cache_tags' => ['torann-geoip-location'],
Com
Limpe o cache de configuração usando o comando:
php artisan config:cache
Agora tente executar seu código novamente. Desta vez, você deve obter a saída.
Espero que você saiba como integrar o GeoIP no site do Laravel. Por favor, compartilhe seus pensamentos e sugestões na seção de comentários abaixo.
Artigos relacionados
- Encontre geolocalização usando endereço IP gratuitamente em PHP
- Um guia para iniciantes para validação do Laravel
- Como registrar uma consulta no Laravel