上一章 文档首页 下一章


6.2.1 使用说明

将框架目录下的 ./SDK/PHP/PhalApiClient 目录中的全部代码拷贝到项目里面即可使用。

6.2.2 代码示例

如下是使用的代码场景片段。

首先,我们需要导入SDK包:

<?php

require_once dirname(__FILE__) . '/PhalApiClient.php';

$rs = PhalApiClient::create()
    ->withHost('http://demo.phalapi.net/')
    ->withService('Default.Index')
    ->withParams('username', 'dogstar')
    ->withTimeout(3000)
    ->request();

var_dump($rs->getRet());
echo "\n";
var_dump($rs->getData());
echo "\n";
var_dump($rs->getMsg());

6.2.3 运行效果

运行后,可以看到:

int(200)

array(4) {
    ["title"]=>
    string(12) "Hello World!"
    ["content"]=>
    string(36) "dogstar您好,欢迎使用PhalApi!"
    ["version"]=>
    string(5) "1.2.1"
    ["time"]=>
    int(1444925238)
}

string(0) ""

6.2.4 扩展你的过滤器和结果解析器

(1)扩展过滤器

当服务端接口需要接口签名验证,或者接口参数加密传送,或者压缩传送时,可以实现此过滤器,以便和服务端操持一致。

当需要扩展时,分两步。首先,需要实现过滤器接口:

<?php

class MyFilter implements PhalApiClientFilter {

        public function filter($service, array &$params) {
            //TODO ...
        }
}

然后设置过滤器:

<?php

               $rs = PhalApiClient.create()
                           .withHost("http://demo.phalapi.net/")
                           .withFilter(new MyFilter())
                           // ...
                           .request();

(2)扩展结果解析器

当返回的接口结果不是JSON格式时,可以重新实现此接口。

当需要扩展时,同样分两步。类似过滤器扩展,这里不再赘述。


上一章 文档首页 下一章