euro-ix/ixf-client-php

用于RESTful访问IX-F数据库的PHP客户端

dev-master 2014-05-14 13:00 UTC

This package is auto-updated.

Last update: 2024-09-19 05:08:25 UTC


README

IXF数据库的PHP RESTful接口,

安装

此库最好与Composer一起使用。只需在您的composer.json中添加以下内容:

"require": {
    "euro-ix/ixf-client-php": "dev-master"
}

如果您没有使用composer,请参阅示例文件以获取示例包含列表。

用法

首先,使用端点(正式端点将在上线时提供)和您的凭据初始化API

IXF\IXF::setApiBase( 'https://www.example.com/api' );
IXF\IXF::setApiUser( 'guest' );
IXF\IXF::setApiPass( 'guest' );

您可以通过以下方式获取所有IXP的数组并打印它们的名称、简称以及经纬度

$ixps = IXF\ApiResource::all( 'IXP' );

foreach( $ixps as $o )
    echo $o->full_name . '[' . $o->short_name . '] => ' . $o->lat . ', ' . $o->lon . "\n";

您可以使用skip和limit选项如下

$ixps = IXF\ApiResource::all( 'IXP', [ 'skip' => 10, 'limit' => 5 ] );

默认排序顺序是按ID。

您可以通过id获取特定的IXP并对其进行如下编辑

$ixp = IXF\ApiResource::retrieve( 'IXP', $id );
$ixp->short_name = 'NEW_SHORTNAME';
$ixp->save();

您也可以通过以下方式删除该IXP

$ixp->delete();

最后,通过以下方式创建IXP

$newObjId = IXF\ApiResource::create( 'IXP',
    [
        "full_name" => "Test IXP",
        "short_name" => "TIXP"
    ]
);

$newIXP = IXF\ApiResource::retrieve( 'IXP', $newObjId );

完整的文档可以在wiki中找到。

文档和测试

请参阅tests/中的示例测试套件,这些套件将展示代码的工作方式。

上传后我们将链接API文档。

源代码/起源故事

Barry O'Donovan撰写,他是INEX的成员,在2014年5月英国谢菲尔德举行的euro-ix黑客马拉松期间。

欢迎提出问题和拉取请求。

Stripe为他们的支付网关创建了一个美丽的API。他们在MIT许可证下开源了PHP库。此库基于此。

(几小时后) 嗯嗯... 美丽的API界面,API库的代码糟糕透顶。使用它是错误的,但这是我现在的床。我删除了70%的冗余代码,它稍微好一些。