This Laravel package eases PHP Domain Parser (PDP) integration in your Laravel application.
PHP Domain Parser is a resource based domain parser implemented in PHP. With it you can easily parse a domain into its component subdomain, registrable domain, second level domain and public suffix parts using the Public Suffix List or IANA Top Level Domain List.
This package doesn't intent to replace or reinvent the API offered by PDP, instead it offers you various entry points to PDP which can be used to validate or process your domain.
The package can be installed via composer:
composer require bakame/laravel-domain-parser
This package implements Laravel's Package Discovery, no further changes are needed to your application configurations. For more information please refer to the Laravel documentation.
Only the currently supported PHP versions are listed. Please refer to previous releases of this package for support for older PHP or Laravel versions.
In order to edit the default configuration you need to publish the package configuration to your application config directory:
php artisan vendor:publish --provider="Bakame\Laravel\Pdp\ServiceProvider" --tag=config
The configuration file will be published to
config/domain-parser.php in your application directory. Please refer to the config file for an overview of the available options.
You can warm and/or update the cache information using the bundled refresh cache command manually.
You can choose to refresh:
- The Public Suffix List
php artisan domain-parser:refresh --rules
- The IANA Root Zone Database
php artisan domain-parser:refresh --tlds
- Both data sets in a single call (default)
php artisan domain-parser:refresh
It is recommended to schedule the refresh command so you don't have to manually run
domain-parser:refresh every time you need to update your cache.
The command can be scheduled in Laravel's console kernel, just like any other command.
protected function schedule(Schedule $schedule)