با استفاده از 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 سوال ساده برای وقتی که به دنبال بازخورد کاربر هستید

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

۱۰ ابزار UX که باید امسال امتحان کنید

با گذشت هر سال، ما شاهد ابزارها و تکنولوژی هایی هستیم که زندگی ما را برای خلاقیت و مارکتینگ ساده تر می کند. پنج سال پیش بیشتر از صد ابزار برای خدمت رس...

نکاتی برای ساخت یک رابط کاربری زیبا و جذاب

رابط کاربری یا UI یک ملاحظه در طراحی هر چیزی است که باید استفاده شود. با اینکه طراحان صنعتی و طراحان گرافیک از اصول اولیه طراحی رابط کاربری در کار های...

10 ابزار متن باز معروف برای طراحی رابط کاربری

شما می توانید زمان مورد نیاز برای توسعه دادن رابط کاربری وب را کم کنید، این کار از طریق ابزارهای طراحی رابط کاربری فرانت اند انجام می شود. یکی از معرو...