Download the PHP package dormilich/ripedb-client without Composer
On this page you can find all versions of the php package dormilich/ripedb-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dormilich/ripedb-client
More information about dormilich/ripedb-client
Files in dormilich/ripedb-client
Package ripedb-client
Short Description A PHP library to communicate with the RIPE NCC database.
License LGPL-2.1
Homepage https://github.com/Dormilich/ripedb-client
Informations about the package ripedb-client
RipeDB-Client
A PHP library to communicate with the RIPE NCC database.
Requirements
The RipeDB-Client requires PHP 7.0 up to PHP 7.4. The connection object might have further preconditions.
Installation
You can install the RIPE client via composer
composer require dormilich/ripedb-client:^1.1
or by cloning this repository.
Tests
To run the offline tests run:
phpunit
on the command line from the project’s root directory.
There is also an online test you can run if you have an internet connection, which runs some basic operations on the RIPE TEST database.
phpunit --group live
Should these tests fail with an HTTP status code of 409 then the used IP range (127.0.0.0/24) is already occupied otherwise and needs to be cleaned up first. You may also have to disable PHPUnit’s error conversion.
Setup
In order to create the HTTP connection with the RIPE REST Service you need to create a
connection object that implements the ClientAdapter
interface. Depending on your PHP
version, or your own preference you can use any existing library or write one using
PHP’s curl or socket functions.
If you’re not convenient doing this you can use the Guzzle6Adapter
from the tests/Test
folder (although you might want to change the namespace).
Usage
For the web service there are four options you can set before using it:
environment
- whether to connect to the RIPE (WebService::PRODUCTION
) or TEST (WebService::SANDBOX
) database. Per default, it connects to the TEST database. You may set any other name for local testing.username
- the username part of the API key.password
- for any modifying operation (create/update/delete) you must provide the password part of the API key.location
- for local testing any URL that connects to the mock instance. The production/sandbox environments will set their appropriate location automatically.
For more information check out the RIPE Database Documentation.
Setting up the web service object
Starting from 2026
Since MD5-based password are retired starting from 2026, you need to use one of the API key that you can create in your RIPE account.
Before 2026
As long as passwords are supported, they can be used in conjunction with the maintainer handle. If that is not given explicitly, it will be taken from the object that is processed (lookup queries do not require authentication).
Create a RIPE DB entry
Note: the webservice will set the source attribute depending on its setting,
so you don’t need to set it yourself except when you want to use the serializer
or the isValid()
method before that.
Update a RIPE DB entry
Note: each RIPE object contains at least the created and last-modified generated attributes. The latter of them is (obviously) only actual after the update therefore update() returns the latest object instance.
RIPE references
Some attributes contain references to other RIPE objects (e.g. tech-c, admin-c, mnt-*).
When you fetch an object from the RIPE database, for these attributes a special value object
(AttributeValue
) is created that can provide you the type and lookup object (an object with
the primary key set to be used in the read()
method) of the referenced object.
RIPE comments
The RIPE DB uses the hash sign (#
) for denoting comments. When fetching an attribute with comments,
these are transmitted separately from the attribute value. For these case the AttributeValue
object
will be used as well. When accessing the attribute value as string, the comment will be appended.
Notes
Object validation uses RIPE DB version 1.112.
All versions of ripedb-client with dependencies
ext-json Version *
ext-simplexml Version *