myerscode / laravel-domain-validator
Validate Domains names in Laravel using PHP Domain Parser.
Package info
github.com/myerscode/laravel-domain-validator
pkg:composer/myerscode/laravel-domain-validator
Requires
- php: ^8.5
- ext-curl: *
- ext-dom: *
- ext-fileinfo: *
- ext-intl: *
- ext-mbstring: *
- ext-xml: *
- guzzlehttp/guzzle: ^7.2
- illuminate/config: ^13.0
- illuminate/support: ^13.0
- jeremykendall/php-domain-parser: ^6.2
Requires (Dev)
- larastan/larastan: ^3.9
- laravel/pint: ^1.29
- orchestra/testbench: ^11.0
- phpunit/phpunit: ^13.0
This package is auto-updated.
Last update: 2026-03-28 11:28:44 UTC
README
A Laravel package for validating domain properties
Requirements
- PHP ^8.5
- Laravel ^13.0
Why is this useful?
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.
Installation
The package can be installed via composer:
composer require myerscode/laravel-domain-validator
Usage
Fetch data sets
artisan domain-validator:fetch
Cache the fetched data sets
artisan domain-validator:cache
Do both together!
artisan domain-validator:refresh
Scheduling
It 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();
Checks
Note: For developer experience, all strings passed will be sanitized to remove trailing slashes / and http(s)://.
Has ICANN Suffix
Tells whether the effective TLD has a matching rule in a Public Suffix List ICANN Section.
hasICANNSuffix('myerscode.com') // true hasICANNSuffix('cloudfront.net') // false
Has Known Suffix
Tells whether the effective TLD has a matching rule in a Public Suffix List.
hasKnownSuffix('myerscode.co') // true hasKnownSuffix('myerscode.corgi') // false
Has Private Suffix
Tells whether the effective TLD has a matching rule in a Public Suffix List Private Section.
hasPrivateSuffix('myerscode.cloudfront.net') // true hasPrivateSuffix('cloudfront.net') // false
Is Domain
Is the value parseable as to a valid domain
isDomain('myerscode.com') // true isDomain('.com') // false
Is TLD
Is the value a valid Top Level Domain
isTld('.com') // true isTld('.corgi') // false
Issues
Bug reports and feature requests can be submitted on the Github Issue Tracker.
Contributing
We are very happy to receive pull requests to add functionality or fixes. Please read the Myerscode contributing guide for information.
License
The MIT License (MIT). Please see License File for more information.