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

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
Наверх