با استفاده از 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 (تجربه کاربری) و GDPR بدانید

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

با استفاده از UIDB، موارد الهام بخشی برای طراحی رابط کاربری پیدا کنید

با وجود هزاران گالری الهام بخش آنلاین، وبسایت‌های زیادی برای جمع‌آوری ایده وجود دارند. اما همه گالری‌ها نمی‌گذارند تا با عناصر رابط مانند فرم‌ها، لاگی...

بهبود امنیت با بهتر‌ کردن تجربه‌کاربری

کاربرانی که در اینترنت جستجو می‌کنند و نظاره‌گر هستند، همیشه دوست دارند که وبسایت‌های مقصود‌شان امن و کاربرپسند باشند. آن‌ها تنها به شرکت‌هایی اعتماد...