https://github.com/sandwave-io/epp-client-php
A base EPP Client that complies with RFC 5730, 5731 and 5733.
https://github.com/sandwave-io/epp-client-php
epp epp-client php rfc5730 rfc5731 rfc5733 sidn
Last synced: 4 months ago
JSON representation
A base EPP Client that complies with RFC 5730, 5731 and 5733.
- Host: GitHub
- URL: https://github.com/sandwave-io/epp-client-php
- Owner: sandwave-io
- License: mit
- Created: 2020-08-31T13:25:12.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-10T13:52:08.000Z (over 1 year ago)
- Last Synced: 2025-07-28T04:24:42.804Z (10 months ago)
- Topics: epp, epp-client, php, rfc5730, rfc5731, rfc5733, sidn
- Language: PHP
- Homepage:
- Size: 189 KB
- Stars: 6
- Watchers: 5
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://sandwave.io)
# EPP Client (PHP)
[](https://codecov.io/gh/sandwave-io/epp-client-php)
[](https://github.com/sandwave-io/epp-client-php/actions)
[](https://packagist.org/packages/sandwave-io/epp-client-php)
[](https://packagist.org/packages/sandwave-io/epp-client-php)
[](https://packagist.org/packages/sandwave-io/epp-client-php)
## Support
This client implements several registries using their EPP API. The base implementation complies with the following RFCs:
* [RFC 5730](https://tools.ietf.org/html/rfc5730)
* [RFC 5731](https://tools.ietf.org/html/rfc5731)
* [RFC 5733](https://tools.ietf.org/html/rfc5733)
The following registries are supported:
* [**SIDN**](https://sidn.nl) (.nl)
Are you missing functionality? Feel free to create an issue, or hit us up with a pull request.
## How to use
```bash
composer require sandwave-io/epp-client-php
```
```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.
```bash
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.