详细说明文档码云地址:https://gitee.com/yh-it/php-http-request
通过 Composer 安装
在项目根目录的终端执行命令
composer require network/http:dev-master
启用 Composer 自动加载
加入PHP代码
require 'vendor/autoload.php';
基本使用方法
实例化 Client
$client = new network\http\Client();
param 和 header 方法
可以调用 param() 方法添加URL参数, header() 方法添加请求头。它们既支持单个设置,也支持批量设置:
// 单个设置
$client->param('name', '易航');
$client->header('User-Agent', 'Mozilla/5.0');
// 批量设置
$client->param(['name' => '易航', 'age' => 25]);
$client->header(['User-Agent' => 'Mozilla/5.0', 'Content-Type' => 'application/json']);
发送GET请求
$response = $client->get('');
$response = $client->send('http://www.bri6.cn','GET');
$response = $client->modth('GET')->send('http://www.bri6.cn');
$response = $client->url('http://www.bri6.cn')->send();
可以传入请求头和查询参数:
$response = $client->get('', ['name' => '易航'], ['Accept' => 'application/json']);
发送POST请求
$response = $client->post('', ['name' => '易航']);
可以传入请求体、请求头:
$response = $client->post('', ['name' => '易航'], ['Content-Type' => 'application/x-www-form-urlencoded']);
其他请求方法
delete(): 发送DELETE请求
put(): 发送PUT请求
patch(): 发送PATCH请求
$response = $client->delete('http://www.bri6.cn');
$response = $client->put('http://www.bri6.cn', ['title' => 'Easy']);
$response = $client->patch('http://www.bri6.cn', ['views' => 999]);
send 方法
send 方法是该库中最为核心和灵活的一个方法,它可以接收三个参数,并可以对这三个参数的顺序进行混合传参。
传统方式
$client->send('http://www.bri6.cn', 'GET', ['name' => '易航']);
方法和URL顺序交换
$client->send('GET', 'http://www.bri6.cn', ['name' => '易航']);
URL和参数顺序交换
$client->send(['name' => '易航'], 'http://www.bri6.cn', 'GET');
链式设置URL和方法,最后传入参数
$client->url('http://www.bri6.cn')->method('GET')->send(['name' => '易航']);
链式设置参数,最后传入URL和方法
$client->param(['name' => '易航'])->send('http://www.bri6.cn', 'GET');
链式设置方法,最后传入URL和参数
$client->method('GET')->send('http://www.bri6.cn', ['name' => '易航']);
send 方法会自动识别第一个参数是 URL、方法还是参数。同时并不强制要求三个参数全部传入,可以只传入一个或两个参数,并可以通过链式调用的方式进行参数设置。
所以根据不同的参数顺序和参数类型,您可以选择一种简洁清晰和习惯的方式进行请求发送。send 方法力求代码的灵活性,同时也不会造成使用上的困扰。