توفر هذه الحزمة مكتبة PHP تحدد بلد عنوان IP.
يمكنك بسهولة تثبيت موقع PHP GEOLOCCENT مع الملحن.
composer require divineomega/php-geolocation
إن الاستخدام الأكثر بساطة في تحديد الموقع الجغرافي PHP هو إنشاء كائن محدد جديد والاستدعاء طريقة getCountryByIP .
// Get country of the current request's IP address
$ country = ( new Locator )-> getCountryByIP ( $ _SERVER [ ' REMOTE_ADDR ' ]);
// Get country of a specific IP address
$ country = ( new Locator )-> getCountryByIP ( ' 93.184.216.34 ' );
// Returns a Country object
/*
object(DivineOmegaCountriesCountry)#4693 (16) {
["name"]=>
string(13) "United States"
["officialName"]=>
string(24) "United States of America"
// etc...
}
*/ يمكنك تكوين موقع PHP GeoCocation لاستخدام أي مكتبة تخزين مؤقت متوافقة مع PSR-6. يتم ذلك بسهولة باستخدام طريقة setCache .
يقوم المثال التالي بتكوين ذاكرة التخزين المؤقت للملف (المقدمة بواسطة حزمة ذاكرة cache/filesystem-adapter ).
use League Flysystem Adapter Local ;
use League Flysystem Filesystem ;
use Cache Adapter Filesystem FilesystemCachePool ;
$ filesystemAdapter = new Local ( __DIR__ . ' / ' );
$ filesystem = new Filesystem ( $ filesystemAdapter );
$ cachePool = new FilesystemCachePool ( $ filesystem );
$ locator = new Locator ;
$ locator -> setCache ( $ cachePool );
$ country = $ locator -> getCountryByIP ( ' 93.184.216.34 ' ); بشكل افتراضي ، ستحاول تحديد الموقع الجغرافي PHP استخدام أمر whois الأصلي لنظام التشغيل لتحديد عنوان IP. إذا كنت ترغب في أن تتمكن من استخدام مزود موقع بديل. يمكن القيام بذلك باستخدام طريقة setLocationProvider ، على النحو التالي.
$ locator = new Locator ;
$ locator -> setLocationProvider ( new IpStack ( ' my_ip_stack_api_key ' );
$ country = $ locator -> getCountryByIP ( ' 93.184.216.34 ' );للحصول على مفتاح API مجاني اشترك في موقع IP Stack.
إذا كنت ترغب في تطوير مزود موقعك الخاص ، فما عليك سوى إنشاء فئة جديدة تنفذ LocationProviderInterface المقدم في هذه الحزمة. راجع فصول موفر موقع WhoIs و FreeGeoIP الحالية إذا كنت بحاجة إلى مساعدة في إنشاء مزود الموقع الخاص بك.