| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
php-epp2 is a High Level Extensible Provisioning Protocol (EPP) TCP/SSL client written in modern PHP.
Released under the GPLv3 License, feel free to contribute (fork, create meaningful branchname, issue pull request with thus branchname)!
Table of Contents generated with DocToc
Via Composer
$ composer require africc/php-epp2
See the examples folder for a more or less complete usage reference. Additionally have a look at whmcs-registrars-coza which is a WHMCS Registrar Module for the co.za zone using this library.
this will automatically login on connect() and logout on close()
<?php
require 'vendor/autoload.php';
use AfriCC\EPP\Client as EPPClient;
$epp_client = new EPPClient([
'host' => 'epptest.org',
'username' => 'foo',
'password' => 'bar',
'services' => [
'urn:ietf:params:xml:ns:domain-1.0',
'urn:ietf:params:xml:ns:contact-1.0'
],
'debug' => true,
]);
try {
$greeting = $epp_client->connect();
} catch(Exception $e) {
echo $e->getMessage() . PHP_EOL;
unset($epp_client);
exit(1);
}
$epp_client->close();setXXX() indicates that value can only be set once, re-calling the method will overwrite the previous value.
addXXX() indicates that multiple values can exist, re-calling the method will add values.
<?php
require 'vendor/autoload.php';
use AfriCC\EPP\Frame\Command\Create\Host as CreateHost;
$frame = new CreateHost;
$frame->setHost('ns1.example.com');
$frame->setHost('ns2.example.com');
$frame->addAddr('8.8.8.8');
$frame->addAddr('8.8.4.4');
$frame->addAddr('2a00:1450:4009:809::1001');
echo $frame;
// or send frame to previously established connection
$epp_client->sendFrame($frame);You can either access nodes directly by passing through a xpath or use the data() Method which will return an assoc array.
use AfriCC\EPP\Frame\Command\Check\Domain as DomainCheck;
use AfriCC\EPP\Frame\Response;
$frame = new DomainCheck;
$frame->addDomain('example.org');
$frame->addDomain('example.net');
$frame->addDomain('example.com');
$response = $epp_client->request($frame);
if (!($response instanceof Response)) {
echo 'response error' . PHP_EOL;
unset($epp_client);
exit(1);
}
$result = $response->results()[0];
echo $result->code() . PHP_EOL;
echo $result->message() . PHP_EOL;
echo $response->clientTransactionId() . PHP_EOL;
echo $response->serverTransactionId() . PHP_EOL;
$data = $response->data();
if (empty($data) || !is_array($data)) {
echo 'empty response data' . PHP_EOL;
unset($epp_client);
exit(1);
}
foreach ($data['chkData']['cd'] as $cd) {
printf('Domain: %s, available: %d' . PHP_EOL, $cd['name'], $cd['@name']['avail']);
}php-epp2 is released under the GPLv3 License. See the bundled LICENSE file for details.
| Back | FazBrowse Home | New Git URL |