Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
<?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-line
return $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; } }