respect-validation/library/Rules/PublicDomainSuffix.php

38 lines
709 B
PHP
Raw Normal View History

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Rules;
use Respect\Validation\Helpers\DomainInfo;
use function array_pop;
use function explode;
final class PublicDomainSuffix extends AbstractSearcher
{
/**
* @var string[]
*/
private $domainInfo;
/**
* {@inheritDoc}
*/
protected function getDataSource($input = null): array
{
$parts = explode('.', $input);
$tld = array_pop($parts);
$domainInfo = new DomainInfo($tld);
$this->domainInfo = $domainInfo->getPublicSuffixes();
return $this->domainInfo;
}
}