Файл: vendor/geoip2/geoip2/src/Model/Country.php
Строк: 107
<?php
declare(strict_types=1);
namespace GeoIp2Model;
/**
* Model class for the data returned by GeoIP2 Country web service and database.
*
* See https://dev.maxmind.com/geoip/docs/web-services?lang=en for more details.
*
* @property-read GeoIp2RecordContinent $continent Continent data for the
* requested IP address.
* @property-read GeoIp2RecordCountry $country Country data for the requested
* IP address. This object represents the country where MaxMind believes the
* end user is located.
* @property-read GeoIp2RecordMaxMind $maxmind Data related to your MaxMind
* account.
* @property-read GeoIp2RecordCountry $registeredCountry Registered country
* data for the requested IP address. This record represents the country
* where the ISP has registered a given IP block and may differ from the
* user's country.
* @property-read GeoIp2RecordRepresentedCountry $representedCountry
* Represented country data for the requested IP address. The represented
* country is used for things like military bases. It is only present when
* the represented country differs from the country.
* @property-read GeoIp2RecordTraits $traits Data for the traits of the
* requested IP address.
* @property-read array $raw The raw data from the web service.
*/
class Country extends AbstractModel
{
/**
* @var GeoIp2RecordContinent
*/
protected $continent;
/**
* @var GeoIp2RecordCountry
*/
protected $country;
/**
* @var array<string>
*/
protected $locales;
/**
* @var GeoIp2RecordMaxMind
*/
protected $maxmind;
/**
* @var GeoIp2RecordCountry
*/
protected $registeredCountry;
/**
* @var GeoIp2RecordRepresentedCountry
*/
protected $representedCountry;
/**
* @var GeoIp2RecordTraits
*/
protected $traits;
/**
* @ignore
*/
public function __construct(array $raw, array $locales = ['en'])
{
parent::__construct($raw);
$this->continent = new GeoIp2RecordContinent(
$this->get('continent'),
$locales
);
$this->country = new GeoIp2RecordCountry(
$this->get('country'),
$locales
);
$this->maxmind = new GeoIp2RecordMaxMind($this->get('maxmind'));
$this->registeredCountry = new GeoIp2RecordCountry(
$this->get('registered_country'),
$locales
);
$this->representedCountry = new GeoIp2RecordRepresentedCountry(
$this->get('represented_country'),
$locales
);
$this->traits = new GeoIp2RecordTraits($this->get('traits'));
$this->locales = $locales;
}
}