Skip to content

A base EPP Client that complies with RFC 5730, 5731 and 5733.

License

Notifications You must be signed in to change notification settings

sandwave-io/epp-client-php

Repository files navigation

EPP Client (PHP)

Codecov GitHub Workflow Status Packagist PHP Version Support Packagist PHP Version Support Packagist Downloads

Support

This client implements several registries using their EPP API. The base implementation complies with the following RFCs:

The following registries are supported:

Are you missing functionality? Feel free to create an issue, or hit us up with a pull request.

How to use

composer require sandwave-io/epp-client-php
use SandwaveIo\EppClient\Epp\Connection;
use SandwaveIo\EppClient\Epp\ConnectionDriver\HttpsConnectionDriver;
use SandwaveIo\EppClient\Services\SidnService;

$driver = new HttpsConnectionDriver('test.domain-registry.nl', 12345);
$service = new SidnService(new Connection($driver), 'admin', 'secret');

$availability = $service->checkDomains(['example.com', 'example.net', 'example.org']);

foreach ($availability as $domainCheck) {
    if ($domainCheck->isAvailable) {
        echo "Domain: {$domainCheck->domain} AVAILABLE\n";
    } else {
        echo "Domain: {$domainCheck->domain} TAKEN. Reason: {$domainCheck->reason}\n";
    }
}

How to contribute

Feel free to create a PR if you have any ideas for improvements. Or create an issue.

  • When adding code, make sure to add tests for it (phpunit).
  • Make sure the code adheres to our coding standards (use php-cs-fixer to check/fix).
  • Also make sure PHPStan does not find any bugs.
vendor/bin/php-cs-fixer fix

vendor/bin/phpstan analyze

vendor/bin/phpunit --coverage-text

These tools will also run in GitHub actions on PR's and pushes on master.

Releases

No releases published

Packages

No packages published

Languages