See Release Notes
Long Term Support Release
<?php> declare(strict_types=1); namespace GeoIp2\Record; >abstract class AbstractPlaceRecord extends AbstractRecord {> /** private $locales; > * @var array<string> > *//** * @ignore< * < * @param mixed $record < * @param mixed $locales*/< public function __construct($record, $locales = ['en'])> public function __construct(?array $record, array $locales = ['en']){ $this->locales = $locales; parent::__construct($record); } /** * @ignore *< * @param mixed $attr> * @return mixed*/< public function __get($attr)> public function __get(string $attr){ if ($attr === 'name') { return $this->name(); } return parent::__get($attr); } /** * @ignore< * < * @param mixed $attr*/< public function __isset($attr)> public function __isset(string $attr): bool{ if ($attr === 'name') {< return $this->firstSetNameLocale() === null ? false : true;> return $this->firstSetNameLocale() !== null;} return parent::__isset($attr); }< private function name()> private function name(): ?string{ $locale = $this->firstSetNameLocale();> // @phpstan-ignore-next-linereturn $locale === null ? null : $this->names[$locale]; }< private function firstSetNameLocale()> private function firstSetNameLocale(): ?string{ foreach ($this->locales as $locale) { if (isset($this->names[$locale])) { return $locale; } } return null; } }