respect-validation/library/Helpers/DomainInfo.php
Alexandre Gomes Gaigalas e2b6138bf6 Add PublicDomainSuffix Rule
- List will be auto-updated from https://publicsuffix.org/list/public_suffix_list.dat
 - Updated AbstractSearcher rules to be case insensitive
 - Updated PR creator bots
 - Docs and tests
2023-02-19 00:19:10 -03:00

47 lines
906 B
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Helpers;
use function file_exists;
use function mb_strtoupper;
final class DomainInfo
{
/**
* @var mixed[]
*/
private $data;
/**
* @var mixed[]
*/
private static $runtimeCache = [];
public function __construct(string $tld)
{
$tld = mb_strtoupper($tld);
if (!isset(static::$runtimeCache[$tld])) {
$filename = __DIR__ . '/../../data/domain/public-suffix/' . $tld . '.php';
static::$runtimeCache[$tld] = file_exists($filename) ? require $filename : [];
}
$this->data = static::$runtimeCache[$tld];
}
/**
* @return array<string>
*/
public function getPublicSuffixes(): array
{
return $this->data;
}
}