D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
3023066
/
root
/
proc
/
3023066
/
cwd
/
www
/
vendor
/
geoip2
/
geoip2
/
src
/
Record
/
Filename :
AbstractPlaceRecord.php
back
Copy
<?php declare(strict_types=1); namespace GeoIp2\Record; abstract class AbstractPlaceRecord extends AbstractRecord { /** * @var array<string> */ private $locales; /** * @ignore */ public function __construct(?array $record, array $locales = ['en']) { $this->locales = $locales; parent::__construct($record); } /** * @ignore * * @return mixed */ public function __get(string $attr) { if ($attr === 'name') { return $this->name(); } return parent::__get($attr); } /** * @ignore */ public function __isset(string $attr): bool { if ($attr === 'name') { return $this->firstSetNameLocale() !== null; } return parent::__isset($attr); } private function name(): ?string { $locale = $this->firstSetNameLocale(); // @phpstan-ignore-next-line return $locale === null ? null : $this->names[$locale]; } private function firstSetNameLocale(): ?string { foreach ($this->locales as $locale) { if (isset($this->names[$locale])) { return $locale; } } return null; } }