6.3.1 使用说明

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

6.3.2 代码示例

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

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

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 更多调用

当需要重复调用时,需要先进行 重置操作 ,如:

//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());

当请求有异常时,返回的 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) "非法请求:接口服务XXX.XXXXX不存在"

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

(1)扩展过滤器

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

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

class MyFilter implements PhalApiClientFilter {

public function filter($service, array &$params) {

//TODO ...

}

}

然后设置过滤器:

$rs = PhalApiClient.create()

.withHost("http://demo.phalapi.net/")

.withFilter(new MyFilter())

// ...

.request();

(2)扩展结果解析器

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

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

php phalapi,[6.3]-SDK包(PHP版) | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...相关推荐

  1. php api 无符号整数基数为16的整数参数的字符串表示形式,[1.12]-参数规则:接口参数规则配置 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    "播下一种思想,收获一种行为:播下一种行为,收获一种习惯:播下一种习惯,收获一种性格:播下一种性格,收获一种命运." --<成君忆:水煮三国> 1.12.1 参数解析 ...

  2. php调用好单库api视频教程,[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    [8.1] PhalApi视频教程 先在这里感谢以下录制小组的同学,是你们让世界看到PhalApi的视频教程! A西瓜妹子.听风不语.彩色的雨.Catch.喵了个咪.dogstar PhalApi教程 ...

  3. php get请求 json返回,[1.23]-请求和响应:GET和POST两者皆可得及超越JSON格式返回 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    1.23.1 请求 把我们后台的API想象成一个函数,那么请求的参数就是我们的参数列表:而接口响应的数据则对应函数返回的结果. 对于请求,正如前面所看到的,我们可以使用$_GET,也可以使用$_POS ...

  4. php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    3.3.1 扩展类库:基于PHPMailer的邮件发送 此扩展可用于发送邮件. 3.3.2 安装和配置 从 PhalApi-Library 扩展库中下载获取 PHPMailer 包,如使用: $ gi ...

  5. phalapi 数据库锁_[7.11]-phalapi-进阶篇5(数据库读写分离) | PhalApi(π框架) - PHP轻量级开源接口框架...

    phalapi-进阶篇5(数据库读写分离以及多库使用) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 读写分离是我们常用的一种解决方案,它可以解决大 ...

  6. phalapi可以依赖注入么_[7.8]-phalapi-进阶篇2(DI依赖注入和单例模式) | PhalApi(π框架) - PHP轻量级开源接口框架...

    phalapi-进阶篇2(DI依赖注入和单例模式) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 离上一次更新过去了快两周,在其中编写了一个关于DB ...

  7. 安卓 sdk 离线包_百度离线ocr识别开发sdk包

    百度离线ocr识别开发sdk包 文字识别是人工智能里面比较常见的一个功能,以前社会需要专门的打字员把图片或者书本上的内容,输入计算机上,现在有文字识别OCR很简单就可以实现,图片.截图.纸质文档等等都 ...

  8. Amazon MWS的SDK包

    Amazon MWS的SDK Amazon MWS的SDK包 目前包含了订单Orders,产品Products,财务Finances和库存Inventory的SDK Amazon MWS的SDK包 A ...

  9. python 打包wheel文件,自己的SDK包

    python 打包wheel文件,自己的SDK包 文章目录 python 打包wheel文件,自己的SDK包 具体参考官方 文件目录结构 `setup.py` `demo.py` `__init__. ...

  10. 的app抓包 ssl_抓包旧版App

    准备软件 今天早些时候有一些开发者发现,苹果悄然发布了iOS 14 Developer Beta开发者预览升级的描述文件,不过最后时刻官方撤回了这个文件,防止新系统提前泄露. 正当开发者想要第一时间升 ...

最新文章

  1. 命令行接口(CLI)将被取而代之,它不再是网络运维的主要工具
  2. 深入探索.NET内部了解CLR如何创建运行时对象
  3. win 下 安装 iphone 环境
  4. 编程之美计算0到N中包含数字1的个数
  5. org.apache.hadoop.io
  6. SE16N新改表内容方法!!!
  7. react子组件向父组件传递数据实例
  8. 什么时候可以升级HarmonyOS,华为鸿蒙OS即将迎来升级 手机版本或仍需时间
  9. Mysql身份认证漏洞及利用(CVE-2012-2122) 补充测试用例
  10. php-fpm初始化失败,FPM的初始化 - [ PHP7的内核剖析 ] - 在线原生手册 - php中文网
  11. mysql 聚合函数求积_Oracle聚合求和和聚合求积(顺便解决BOM展开的问题)
  12. Mysql数据库设计规范之二数据库字段设计规范
  13. 语法制导定义 SDD
  14. #379 – 将ToolTip当做放大器使用(Using a Tooltip As a Magnifier)
  15. git中误提交了不想提交的文件,想要从版本库中删除的方法
  16. VMware15.1安装苹果系统mac10.15.3(图解)
  17. 安装pyrit qq5ed84579da89e
  18. C中printf()格式代码%g、%f、%e
  19. 创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA的 电源接口和拨码开关、JTAG仿真器接口
  20. 微信公众号对接淘宝客系统,淘口令解析

热门文章

  1. 机器学习-推荐系统中基于深度学习的混合协同过滤模型
  2. 二值图像的Euclidean distance map(EDM)特征图计算及其优化
  3. nvidia平台gst-launch-1.0使用记录
  4. PQ8.05硬盘分区图文教程
  5. qq邮件 外发服务器设置,利用腾讯企业邮箱配置外发邮件服务
  6. gogo learning
  7. 图像滤镜艺术---LOMO Filter
  8. 光伏发电沦为白菜价 看光伏大佬们如何“割肉”
  9. python 12345构成不重复的三位数
  10. Elasticsearch安全认证