Biblioteca GeoIP de Laravel – Descubra la geolocalización usando la dirección IP
¿Quieres conocer la Geolocalización de los visitantes que utilizan Laravel? Usando la biblioteca GeoIP, puede averiguar la geolocalización de un usuario por su dirección IP. En este artículo, discutimos una biblioteca que integra fácilmente GeoIP en la aplicación Laravel.
Hay algunos casos en los que necesita obtener detalles sobre la ubicación geográfica de sus visitantes. Estos detalles incluyen latitud, longitud, zona horaria, país, moneda, etc.
Un ejemplo de uso de la geolocalización son las tiendas en línea. En su tienda, es posible que desee mostrar diferentes precios y monedas según el país o la región del visitante. Otro ejemplo es si alguien necesita bloquear sus sitios web en algunos países.
Dicho esto, echemos un vistazo a cómo encontrar la geolocalización utilizando la dirección IP en Laravel.
Instalación de la biblioteca GeoIP de Laravel
Para comenzar, debe instalar la biblioteca Laravel Geoip. Instale la biblioteca usando el comando:
composer require torann/geoip
Tras la instalación de la biblioteca, registre al proveedor de servicios con su aplicación. Abra config/app.php
y agregue proveedores de servicios a la matriz de proveedores.
'providers' => [
......
TorannGeoIPGeoIPServiceProvider::class,
]
A continuación, agregue la fachada en la matriz de alias.
'aliases' => [
....
'GeoIP' => TorannGeoIPFacadesGeoIP::class,
];
Después de los pasos anteriores, publique la configuración usando el comando:
php artisan vendor:publish --provider="TorannGeoIPGeoIPServiceProvider" --tag=config
Este comando publica un archivo de configuración en config/geoip.php
.
Descubra la geolocalización mediante la dirección IP
Todos estamos listos para obtener detalles de geolocalización usando una dirección IP. La biblioteca proporciona un método al que debe pasar la dirección IP real. A cambio, obtienes la información de geolocalización de una dirección IP.
Coloque el siguiente código en su aplicación para obtener detalles de una 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
Mientras usa la biblioteca, es posible que obtenga el error ‘Esta tienda de caché no admite el etiquetado’ con BadMethodCallException. Si es así, simplemente cambie la línea de abajo del config/geoip.php
archivo.
Reemplazar
'cache_tags' => ['torann-geoip-location'],
Con
Borre la caché de configuración usando el comando:
php artisan config:cache
Ahora intente nuevamente ejecutar su código. Esta vez deberías obtener el resultado.
Espero que sepas cómo integrar GeoIP en el sitio web de Laravel. Comparta sus pensamientos y sugerencias en la sección de comentarios a continuación.
Artículos relacionados
- Encuentre la geolocalización usando la dirección IP de forma gratuita en PHP
- Una guía para principiantes para la validación de Laravel
- Cómo registrar consultas en Laravel