PHP RESTful interface for the IXF database,
This library is best used with Composer. Just add the following to
your composer.json
:
"require": {
"euro-ix/ixf-client-php": "dev-master"
}
If you are not using composer, see the demo file for an example list of includes.
First, prime the API with the endpoint (official end point to be provided when live) and your credentials:
IXF\IXF::setApiBase( 'https://www.example.com/api' );
IXF\IXF::setApiUser( 'guest' );
IXF\IXF::setApiPass( 'guest' );
You can get an array of all IXPs and print their name, short name and latitude / longitude, as follows:
$ixps = IXF\ApiResource::all( 'IXP' );
foreach( $ixps as $o )
echo $o->full_name . '[' . $o->short_name . '] => ' . $o->lat . ', ' . $o->lon . "\n";
You can use skip and limit options as follows:
$ixps = IXF\ApiResource::all( 'IXP', [ 'skip' => 10, 'limit' => 5 ] );
The default ordering is by ID.
You can fetch a specific IXP by id and edit it as follows:
$ixp = IXF\ApiResource::retrieve( 'IXP', $id );
$ixp->short_name = 'NEW_SHORTNAME';
$ixp->save();
You can also delete that IXP via:
$ixp->delete();
Finally, create an IXP via:
$newObjId = IXF\ApiResource::create( 'IXP',
[
"full_name" => "Test IXP",
"short_name" => "TIXP"
]
);
$newIXP = IXF\ApiResource::retrieve( 'IXP', $newObjId );
Complete documentation can be found in the wiki.
See the tests/ for sample test suites which will show how the code works.
We'll link API documentation when it's uploaded.
Written by Barry O'Donovan of INEX during the May 2014 euro-ix hackaton in Sheffield, UK.
Issues and pull requests are welcomed.
Stripe created a beautiful API for their payment gateway. They open sourced the PHP library under the MIT license. This library is based on that.
(a few hours later) Hmmmm... beautiful API interface, horrendously coded API library. It was a mistake to use it but that's a bed I've made for myself now. I've stripped 70% of the cruft and it's slightly more palatable.