Документация для разработчиков
Темная тема

getDataResult

Описание и параметры

abstract public function 
getDataResult(
	$ip,
	$lang = ''
);

Нестатический абстрактный метод возвращает результат с данными геолокации - класс \Bitrix\Main\Service\GeoIp\Result, если она определена или null в противном случае.

Параметр Описание С версии
ip IP адрес
lang Идентификатор языка

Примеры

Получить всю доступную информацию сразу:

$geoResult = GeoIp\Manager::getDataResult('92.50.195.50');

if($geoResult)
{
	if($geoResult->isSuccess())
		var_dump($geoResult->getGeoData());
	elseif(!$geoResult->isSuccess())
		echo "Ошибка: ".implode("
\n", $geoResult->getErrorMessages()); } else { echo 'Нет данных для данного IP - адреса'; }

В результате получим объект - структуру данных \Bitrix\Main\Service\GeoIp\Data:

>>object(Bitrix\Main\Service\GeoIp\Data)[97]
  public 'ip' => string '92.50.195.50' (length=12)
  public 'lang' => string 'en' (length=2)
  public 'countryName' => string 'Russia' (length=6)
  public 'regionName' => string 'Moskva' (length=6)
  public 'subRegionName' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'cityName' => string 'Moscow' (length=6)
  public 'countryCode' => string 'RU' (length=2)
  public 'regionCode' => string 'RU-MOW' (length=6)
  public 'zipCode' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'latitude' => float 55.75222
  public 'longitude' => float 37.61556
  public 'timezone' => string 'Europe/Moscow' (length=13)
  public 'asn' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'ispName' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'organizationName' => GeoIp\Manager::INFO_NOT_AVAILABLE
  public 'handlerClass' => string 'Bitrix\Main\Service\GeoIp\SypexGeo' (length=34)

Если информации нет - вернётся GeoIp\Manager::INFO_NOT_AVAILABLE.

Если нам нужен строго определенный язык и определенные поля:

 $geoResult = GeoIp\Manager::getDataResult('92.50.195.50', 'ru', array('countryName', 'cityName'));

© «Битрикс», 2001-2024, «1С-Битрикс», 2024