myerscode/laravel-domain-validator

Validate Domains names in Laravel using PHP Domain Parser.

Maintainers

Package info

github.com/myerscode/laravel-domain-validator

pkg:composer/myerscode/laravel-domain-validator

Statistics

Installs: 14

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

13.0.0 2026-03-28 10:37 UTC

This package is auto-updated.

Last update: 2026-03-28 11:28:44 UTC


README

A Laravel package for validating domain properties

Latest Stable Version Total Downloads PHP Version Require License Tests codecov

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.