با استفاده از Laravel GeoIP موقعیت جغرافیایی کاربر را تعیین کنید

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 11 خرداد 1397
دسته بندی ها : لاراول

اخیرا نیاز به بررسی موقعیت جغرافیایی کاربر برای تعیین موقعیت محلی آنها داشتم. پکیج torann/geoip ساخته شده توسط Daniel Stainblack بسیار برای انجام این کار در برنامه های Laravel 5 مناسب بود.

پکیج Laravel GeoIP خدماتی مانند ip-api.com به طور پیشفرض، یک دیتابیس قابل دانلود Maxmind و Maxmind AOU را پشتیبانی می کند. همچنین می توانید از طریق پیکربندی ها خدمات سفارشی سازی شده نیز اضافه کنید.

کاربرد پایه این پکیج فراخوانی geoip() است، که در صورت تمایل یک آدرس IP را ارسال می کند. کد زیر، مثالی از آبجکت باز گردانده شده بر حسب موقعیت مکانی IP است.

\Torann\GeoIP\Location {

    #attributes:array [
        'ip'           => '232.223.11.11',
        'iso_code'     => 'US',
        'country'      => 'United States',
        'city'         => 'New Haven',
        'state'        => 'CT',
        'state_name'   => 'Connecticut',
        'postal_code'  => '06510',
        'lat'          => 41.28,
        'lon'          => -72.88,
        'timezone'     => 'America/New_York',
        'continent'    => 'NA',
        'currency'     => 'USD',
        'default'      => false,
    ]
}

همانطور که میبینید، آبجکت Location داده هایی در زمینه جغرافیایی دارد، که برای تعیین موقعیت کاربر، منطقه زمان او، و کد ISO کشورش کاربرد دارد.

یک موقعیت پشتیبان نیز برای زمانی که هیچ موقعیتی یافت نشد موجود می باشد، که پارامتر default مقدار را true قرار می دهد. می توانید پیکربندی های پیشفرض را که به این صورت است، تغییر دهید:

'default_location' => [
    'ip' => '127.0.0.0',
    'iso_code' => 'US',
    'country' => 'United States',
    'city' => 'New Haven',
    'state' => 'CT',
    'state_name' => 'Connecticut',
    'postal_code' => '06510',
    'lat' => 41.31,
    'lon' => -72.92,
    'timezone' => 'America/New_York',
    'continent' => 'NA',
    'default' => true,
    'currency' => 'USD',
],

می توانید سورس کد پکیج را در گیت هاب ببینید، تا به شما در شروع کار کمک کند.

منبع

مقالات پیشنهادی

۶ ابزار برتر تست تجربه کاربری که باید از آن‌ها استفاده کنید

وقتی قصد دارید که روی یک استراتژی تجربه کاربری به صورتی موفق عمل کنید، نباید اجازه بدهید که فرضیات و عقاید شخصی شما، روی این مسئله تاثیر داشته باشد. ب...

5 سوال ساده برای وقتی که به دنبال بازخورد کاربر هستید

شما نمی توانید اولین برداشت را از نو بسازید درسته؟ البته که درسته و این یکی از دلایلی است که باید وقت و تلاش زیادی صرف طراحی یک وب سایت کنید . شما می...

چگونه از زمان سکون، برای بالا بردن نرخ تبدیلات استفاده کنیم؟

در چند سال اخیر طراحی صفحات فرود یا Landing Page به یک عرصه بسیار مهم در طراحی وبسایت تبدیل شده و تقریبا برای ساخت آن تمام موارد مورد نیاز فراهم شده ا...

آیکون های زیبا و کاربردی طراحی وب | سری دوم

آیکون ها امروزه نقش کلیدی در طراحی وب دارند بطوری که حتی برای نشون دادن اطلاعات ازشون استفاده میشه . این آیکون ها چیزی از بوجود اومدنشون نمیگذره و بوس...