hhuang-is / hhcurl
cURL 类用于 HHVM/Hack
0.3.3
2018-01-09 02:15 UTC
Requires
- ext-curl: *
- hhvm: >=3.15
- hhvm/hhvm-autoload: ^1.5
Requires (Dev)
- 91carriage/phpunit-hhi: ^5.7.1
- phpunit/phpunit: ^5.0
- squizlabs/php_codesniffer: ~2.1
README
此库为 HHVM/Hack cURL 扩展提供了一个面向对象的包装器。
如果您对安装或使用有问题,请 创建一个问题。
安装
要使用 composer 安装此库,请在控制台运行以下命令
$ hhvm --php $(which composer) require kubotak-is/hhcurl
或者手动将包添加到您的 composer.json 文件的 require 部分
"kubotak-is/hhcurl": "^0.1"
使用示例
$curl = new HHCurl\Curl(); \HH\Asio\join($curl->get('http://www.example.com/'));
$curl = new HHCurl\Curl(); \HH\Asio\join($curl->get('http://www.example.com/search', [ 'q' => 'keyword', ]));
$curl = new HHCurl\Curl(); \HH\Asio\join($curl->post('http://www.example.com/login/', [ 'username' => 'myusername', 'password' => 'mypassword', ]));
$curl = new HHCurl\Curl(); $curl->setBasicAuthentication('username', 'password'); $curl->setUserAgent(''); $curl->setReferrer(''); $curl->setHeader('X-Requested-With', 'XMLHttpRequest'); $curl->setCookie('key', 'value'); \HH\Asio\join($curl->get('http://www.example.com/')); if ($curl->error) { echo $curl->error_code; } else { echo $curl->response; } var_dump($curl->request_headers); var_dump($curl->response_headers);
$curl = new HHCurl\Curl(); $curl->setOpt(CURLOPT_RETURNTRANSFER, TRUE); $curl->setOpt(CURLOPT_SSL_VERIFYPEER, FALSE); \HH\Asio\join($curl->get('https://encrypted.example.com/'));
$curl = new HHCurl\Curl(); \HH\Asio\join($curl->put('http://api.example.com/user/', [ 'first_name' => 'Zach', 'last_name' => 'Borboa', ]));
$curl = new HHCurl\Curl(); \HH\Asio\join($curl->patch('http://api.example.com/profile/', [ 'image' => '@path/to/file.jpg', ]));
$curl = new HHCurl\Curl(); \HH\Asio\join($curl->delete('http://api.example.com/user/', [ 'id' => '1234', ]));
$curl->close();
// Example access to curl object. curl_set_opt($curl->curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1'); curl_close($curl->curl);
## 测试
为了测试库
- 创建一个分支
- 将分支克隆到您的机器上
- 安装依赖项
composer install - 运行单元测试
./vendor/bin/phpunit tests