Laravel GeoIP -kirjasto – selvitä maantieteellinen sijainti IP-osoitteen avulla
Haluatko tietää kävijöiden maantieteellisen sijainnin Laravelin avulla? GeoIP-kirjaston avulla voit selvittää käyttäjän sijainnin hänen IP-osoitteensa perusteella. Tässä artikkelissa käsitellään kirjastoa, joka integroi helposti GeoIP: n Laravel-sovellukseen.
On olemassa muutamia tapauksia, joissa sinun on hankittava tietoja kävijöiden maantieteellisestä sijainnista. Näitä tietoja ovat leveys-, pituus-, aikavyöhyke, maa, valuutta jne.
Yksi esimerkki maantieteellisen sijainnin käytöstä on verkkokaupat. Kaupassasi saatat haluta näyttää erilaisia hintoja ja valuuttoja kävijän maan tai alueen perusteella. Toinen esimerkki on, jos jonkun on estettävä verkkosivustonsa muutamassa maassa.
Tästä huolimatta katsotaanpa, kuinka löytää maantieteellinen sijainti Laravelin IP-osoitteen avulla.
Laravel GeoIP -kirjaston asennus
Aloittamiseksi sinun on asennettava Laravel Geoip -kirjasto. Asenna kirjasto komennolla:
composer require torann/geoip
Kun kirjasto on asennettu, rekisteröi palveluntarjoaja sovellukseesi. Avaa config/app.php
ja lisää palveluntarjoajia palveluntarjoajien ryhmään.
'providers' => [
......
TorannGeoIPGeoIPServiceProvider::class,
]
Lisää seuraavaksi julkisivu aliaksiryhmään.
'aliases' => [
....
'GeoIP' => TorannGeoIPFacadesGeoIP::class,
];
Julkaise yllä olevien vaiheiden jälkeen kokoonpano komennolla:
php artisan vendor:publish --provider="TorannGeoIPGeoIPServiceProvider" --tag=config
Tämä komento julkaisee määritystiedoston osoitteeseen config/geoip.php
.
Selvitä maantieteellinen sijainti IP-osoitteen avulla
Olemme kaikki valmiita saamaan sijaintitiedot käyttämällä IP-osoitetta. Kirjasto tarjoaa menetelmän, jolle sinun on välitettävä todellinen IP-osoite. Vastineeksi saat IP-osoitteen sijaintitiedot.
Lisää alla oleva koodi hakemukseen hakeaksesi IP-osoitteen tiedot.
$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
Kirjastoa käytettäessä voi olla mahdollista, että BadMethodCallExceptionin avulla saat virheilmoituksen "Tämä välimuistitallennus ei tue koodausta". Jos näin on, muuta vain alla oleva rivi config/geoip.php
tiedostosta.
Korvata
'cache_tags' => ['torann-geoip-location'],
Kanssa
Tyhjennä määritysvälimuisti komennolla:
php artisan config:cache
Yritä nyt suorittaa koodi. Tällä kertaa sinun pitäisi saada tulos.
Toivon, että sait tietää kuinka integroida GeoIP Laravel-verkkosivustolle. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.