php phalapi,[6.3]-SDK包(PHP版) | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
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轻量级开源接口框架 - 接口,从简单开始!...相关推荐
- php api 无符号整数基数为16的整数参数的字符串表示形式,[1.12]-参数规则:接口参数规则配置 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
"播下一种思想,收获一种行为:播下一种行为,收获一种习惯:播下一种习惯,收获一种性格:播下一种性格,收获一种命运." --<成君忆:水煮三国> 1.12.1 参数解析 ...
- php调用好单库api视频教程,[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
[8.1] PhalApi视频教程 先在这里感谢以下录制小组的同学,是你们让世界看到PhalApi的视频教程! A西瓜妹子.听风不语.彩色的雨.Catch.喵了个咪.dogstar PhalApi教程 ...
- php get请求 json返回,[1.23]-请求和响应:GET和POST两者皆可得及超越JSON格式返回 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
1.23.1 请求 把我们后台的API想象成一个函数,那么请求的参数就是我们的参数列表:而接口响应的数据则对应函数返回的结果. 对于请求,正如前面所看到的,我们可以使用$_GET,也可以使用$_POS ...
- php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
3.3.1 扩展类库:基于PHPMailer的邮件发送 此扩展可用于发送邮件. 3.3.2 安装和配置 从 PhalApi-Library 扩展库中下载获取 PHPMailer 包,如使用: $ gi ...
- phalapi 数据库锁_[7.11]-phalapi-进阶篇5(数据库读写分离) | PhalApi(π框架) - PHP轻量级开源接口框架...
phalapi-进阶篇5(数据库读写分离以及多库使用) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 读写分离是我们常用的一种解决方案,它可以解决大 ...
- phalapi可以依赖注入么_[7.8]-phalapi-进阶篇2(DI依赖注入和单例模式) | PhalApi(π框架) - PHP轻量级开源接口框架...
phalapi-进阶篇2(DI依赖注入和单例模式) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 离上一次更新过去了快两周,在其中编写了一个关于DB ...
- 安卓 sdk 离线包_百度离线ocr识别开发sdk包
百度离线ocr识别开发sdk包 文字识别是人工智能里面比较常见的一个功能,以前社会需要专门的打字员把图片或者书本上的内容,输入计算机上,现在有文字识别OCR很简单就可以实现,图片.截图.纸质文档等等都 ...
- Amazon MWS的SDK包
Amazon MWS的SDK Amazon MWS的SDK包 目前包含了订单Orders,产品Products,财务Finances和库存Inventory的SDK Amazon MWS的SDK包 A ...
- python 打包wheel文件,自己的SDK包
python 打包wheel文件,自己的SDK包 文章目录 python 打包wheel文件,自己的SDK包 具体参考官方 文件目录结构 `setup.py` `demo.py` `__init__. ...
- 的app抓包 ssl_抓包旧版App
准备软件 今天早些时候有一些开发者发现,苹果悄然发布了iOS 14 Developer Beta开发者预览升级的描述文件,不过最后时刻官方撤回了这个文件,防止新系统提前泄露. 正当开发者想要第一时间升 ...
最新文章
- 命令行接口(CLI)将被取而代之,它不再是网络运维的主要工具
- 深入探索.NET内部了解CLR如何创建运行时对象
- win 下 安装 iphone 环境
- 编程之美计算0到N中包含数字1的个数
- org.apache.hadoop.io
- SE16N新改表内容方法!!!
- react子组件向父组件传递数据实例
- 什么时候可以升级HarmonyOS,华为鸿蒙OS即将迎来升级 手机版本或仍需时间
- Mysql身份认证漏洞及利用(CVE-2012-2122) 补充测试用例
- php-fpm初始化失败,FPM的初始化 - [ PHP7的内核剖析 ] - 在线原生手册 - php中文网
- mysql 聚合函数求积_Oracle聚合求和和聚合求积(顺便解决BOM展开的问题)
- Mysql数据库设计规范之二数据库字段设计规范
- 语法制导定义 SDD
- #379 – 将ToolTip当做放大器使用(Using a Tooltip As a Magnifier)
- git中误提交了不想提交的文件,想要从版本库中删除的方法
- VMware15.1安装苹果系统mac10.15.3(图解)
- 安装pyrit qq5ed84579da89e
- C中printf()格式代码%g、%f、%e
- 创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA的 电源接口和拨码开关、JTAG仿真器接口
- 微信公众号对接淘宝客系统,淘口令解析