99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

SDK包(PHP版)

2018-11-21 21:27 更新

6.3.1 使用說明

將框架目錄下的 ./SDK/PHP/PhalApiClient 目錄中的全部代碼拷貝到項目里面即可使用。

6.3.2 代碼示例

如下是使用的代碼場景片段。

首先,我們需要導(dǎo)入SDK包:

<?php

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

$client = PhalApiClient::create()
        ->withHost('http://demo.phalapi.net/');

$rs = $client->reset()
    ->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.3.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.3.4 更多調(diào)用

當(dāng)需要重復(fù)調(diào)用時,需要先進行 重置操作 ,如:

//one more time
$rs = $client->reset()
    ->withService("User.GetBaseInfo")
    ->withParams("user_id", "1")
    ->request();

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

當(dāng)請求有異常時,返回的 ret!= 200,如:

//illegal request
$rs = $client->reset()
    ->withService("XXX.XXXXX")
    ->withParams("user_id", "1")
    ->request();

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

以上的輸出為:

--------------------
int(200)

array(3) {
  ["code"]=>
  int(0)
  ["msg"]=>
  string(0) ""
  ["info"]=>
  array(3) {
    ["id"]=>
    string(1) "1"
    ["name"]=>
    string(7) "dogstar"
    ["from"]=>
    string(7) "oschina"
  }
}

string(0) ""

--------------------
int(400)

array(0) {
}

string(45) "非法請求:接口服務(wù)XXX.XXXXX不存在"

6.3.5 擴展你的過濾器和結(jié)果解析器

(1)擴展過濾器

當(dāng)服務(wù)端接口需要接口簽名驗證,或者接口參數(shù)加密傳送,或者壓縮傳送時,可以實現(xiàn)此過濾器,以便和服務(wù)端操持一致。

當(dāng)需要擴展時,分兩步。首先,需要實現(xiàn)過濾器接口:

<?php

class MyFilter implements PhalApiClientFilter {

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

然后設(shè)置過濾器:

<?php

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

(2)擴展結(jié)果解析器

當(dāng)返回的接口結(jié)果不是JSON格式時,可以重新實現(xiàn)此接口。

當(dāng)需要擴展時,同樣分兩步。類似過濾器擴展,這里不再贅述。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號