Download the PHP package hostmaster/ua without Composer
On this page you can find all versions of the php package hostmaster/ua. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hostmaster/ua
More information about hostmaster/ua
Files in hostmaster/ua
Package ua
Short Description Modern PHP 8.2+ EPP client library for the .UA registry (epp.hostmaster.ua).
License MIT
Homepage https://github.com/hostmaster-direct/ua
Informations about the package ua
hostmaster/ua
Modern PHP 8.2+ EPP client library for the Ukrainian (.UA) domain registry, epp.hostmaster.ua.
- Strict types, readonly DTOs, typed enums, full PSR-4 / Composer
- Native RFC 5730/5734 EPP-over-TLS transport (4-byte length-prefixed frames)
- Hostmaster.ua dialect:
contact-1.1,domain-1.1,host-1.1,uaepp-1.1(license, force-host-delete),rgp-1.1,balance-1.0 - Per-result-code exception hierarchy — handle
ObjectExistsException,BillingException,AuthorizationException, etc. directly - PSR-3 logging hook for wire-level debugging
Install
Requires PHP 8.2+ with ext-dom, ext-libxml, ext-openssl, ext-mbstring.
Quick start
Architecture
Exception handling
Every 2xxx response is thrown as a typed exception. Catch the specific class
you care about, fall back to EppException for everything else, and
HostmasterException for any failure originating in this library:
The exception classes correspond to result-code groups defined in
src/Protocol/ResultCode.php and
mapped in src/Exception/EppException.php.
Logging & secret redaction
Pass any PSR-3 LoggerInterface as the second argument to new Client(...).
Wire frames are logged at debug level. Sensitive fields (<pw>,
<newPW>, <domain:pw>, <contact:pw>, <authInfo>, <ext>) are
redacted by default before they ever reach the logger — your handler
sees <pw>*****</pw>, while your application code still receives the real
password as a string when you build a request or read a response.
Standalone redaction (no logger needed)
Redactor is framework-agnostic — call it from anywhere you want to store
or display EPP XML safely (DB columns, support tickets, audit trails):
Add custom rules for your own extension fields:
PSR-3 wrapper
Wrap any PSR-3 logger so the rest of your code doesn't have to think about redaction:
The wrapper redacts the message string and every string-valued context field, recursively. Non-string context values pass through untouched.
Polling messages
Email notifications
The registry mirrors poll messages over email (From: [email protected], X-Notifier: UAEPP-NOTIFY, X-Template: …).
EmailNotificationParser converts a raw RFC 5322 message — or already-split
headers + body — into an EmailNotification value object with the operation,
object type, name, and ROID extracted from the subject:
EmailTemplate covers every documented X-Template value (object
created/changed/deleted, transfer requested/completed/cancelled/rejected,
RGP, pending delete, host unlinked, contract events, balance reports,
DNSSEC checks, etc.). Unknown values fall back to EmailTemplate::Unknown
so the parser stays forward-compatible.
Hostmaster.ua extensions
uaepp:license— passed viaDomainCreate::$license/DomainUpdate::$licenseuaepp:deleteNS confirm="yes"—HostService::delete($name, force: true)rgp:restore op="request"—DomainService::restoreRequest($name)
Examples
The examples/ directory contains a runnable script for every
EPP command, mirroring the structure of the official Hostmaster.ua
documentation. See examples/README.md for a one-to-one
mapping of registry doc pages to library calls.
Development
License
MIT — see LICENSE.
All versions of ua with dependencies
ext-dom Version *
ext-libxml Version *
ext-openssl Version *
ext-mbstring Version *
psr/log Version ^1.1 || ^2.0 || ^3.0