<?php declare(strict_types=1); namespace GeoIp2\Record; abstract class AbstractPlaceRecord extends AbstractRecord {> /** private $locales; > * @var array<string> > *//** * @ignore */ public function __construct(?array $record, array $locales = ['en']) { $this->locales = $locales; parent::__construct($record); } /** * @ignore> * */ > * @return mixedpublic 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-linereturn $locale === null ? null : $this->names[$locale]; } private function firstSetNameLocale(): ?string { foreach ($this->locales as $locale) { if (isset($this->names[$locale])) { return $locale; } } return null; } }