A Laravel package for validating domain properties
- PHP ^8.5
- Laravel ^13.0
It allows easy integration of the PHP Domain Parser PHP Domain Parser by Jeremy Kendall into a Laravel app, in order to validate values against known domain data.
The package can be installed via composer:
composer require myerscode/laravel-domain-validatorFetch data sets
artisan domain-validator:fetchCache the fetched data sets
artisan domain-validator:cacheDo both together!
artisan domain-validator:refreshIt is recommended to schedule the refresh command, in order to remove the need of running the domain-validator:refresh command
every time you need to update your cache.
// routes/console.php
Schedule::call('domain-validator:refresh')->daily();
// alternatively initialize a new command class
Schedule::call(new \Myerscode\Laravel\DomainValidator\Commands\RefreshCommand)->daily();Note: For developer experience, all strings passed will be sanitized to remove trailing slashes / and http(s)://.
Tells whether the effective TLD has a matching rule in a Public Suffix List ICANN Section.
hasICANNSuffix('myerscode.com') // true
hasICANNSuffix('cloudfront.net') // falseTells whether the effective TLD has a matching rule in a Public Suffix List.
hasKnownSuffix('myerscode.co') // true
hasKnownSuffix('myerscode.corgi') // falseTells whether the effective TLD has a matching rule in a Public Suffix List Private Section.
hasPrivateSuffix('myerscode.cloudfront.net') // true
hasPrivateSuffix('cloudfront.net') // falseIs the value parseable as to a valid domain
isDomain('myerscode.com') // true
isDomain('.com') // falseIs the value a valid Top Level Domain
isTld('.com') // true
isTld('.corgi') // falseBug reports and feature requests can be submitted on the Github Issue Tracker.
We are very happy to receive pull requests to add functionality or fixes. Please read the Myerscode contributing guide for information.
The MIT License (MIT). Please see License File for more information.