'https://www.payanyway.ru/assistant.htm', self::DEMO => 'https://demo.moneta.ru/assistant.htm', ]; /** @var string */ private $value; private function __construct(string $value) { $this->value = $value; } public static function fromSetting(?string $value): self { return new self(isset(self::URLS[(string) $value]) ? (string) $value : self::PROD); } public function getValue(): string { return $this->value; } public function isDemo(): bool { return ($this->value === self::DEMO); } public function url(): string { return self::URLS[$this->value]; } }