承接 codesaur/http-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

codesaur/http-client

Composer 安装命令:

composer require codesaur/http-client

包简介

HTTP хүсэлт илгээх болон MIME имэйл боловсруулах/илгээх энгийн хөнгөн жинтэй, объект хандалтат http-client компонент

README 文档

README

CI PHP Version License

HTTP хүсэлт илгээх болон MIME имэйл боловсруулах/илгээх энгийн хөнгөн жинтэй, объект хандалтат http-client компонент.

Агуулга / Table of Contents

  1. Монгол | 2. English | 3. Getting Started

1. Монгол тайлбар

codesaur/http-client нь codesaur ecosystem-ийн нэг хэсэг бөгөөд хөнгөн жинтэй, фрэймворкоос үл хамааран standalone байдлаар ашиглаж болох PHP HTTP клиент компонент юм.

Багц нь дараах 4 үндсэн class-аас бүрдэнэ:

  • CurlClient - cURL дээр суурилсан уян хатан HTTP клиент
  • JSONClient - JSON өгөгдөлтэй REST API-тэй ажиллахад тохиромжтой
  • Response - HTTP хариуг обьект хэлбэрээр илэрхийлэх (status code, headers, body)
  • Mail - HTML + Text + олон хавсралттай MIME имэйл илгээгч

Онцлох боломжууд

  • UTF-8 бүрэн дэмжлэг (нэрс, файлын нэр, гарчиг г.м.)
  • Хөнгөн, хурдан, ямар ч фрэймворк дээр эсвэл дангаар ашиглаж болно
  • Зөвхөн ext-curl, ext-json байхад л болно

Дэлгэрэнгүй мэдээлэл

2. English description

codesaur/http-client is part of the codesaur ecosystem and is a lightweight PHP HTTP client component that can be used standalone, independent of any framework.

The package consists of the following 4 core classes:

  • CurlClient - flexible HTTP client based on cURL
  • JSONClient - convenient for working with REST APIs with JSON data
  • Response - HTTP response object with status code, headers, and body
  • Mail - MIME email sender with HTML + Text + multiple attachments

Key Features

  • Full UTF-8 support (names, file names, headers, etc.)
  • Lightweight, fast, can be used on any framework or standalone
  • Only requires ext-curl and ext-json

Documentation

3. Getting Started

Requirements

  • PHP 8.2.1+
  • Composer
  • ext-curl extension
  • ext-json extension

Installation

Composer ашиглан суулгана / Install via Composer:

composer require codesaur/http-client

Quick Examples

CurlClient - Ерөнхий HTTP клиент

use codesaur\Http\Client\CurlClient;

// CurlClient үүсгэх / Create CurlClient instance
$curl = new CurlClient();

// GET хүсэлт илгээх / Send GET request
$response = $curl->request(
    'https://httpbin.org/get',
    'GET'
);

// Response обьект авах / Get Response object
$res = $curl->send('https://httpbin.org/get');
echo $res->statusCode; // 200
echo $res->getHeader('Content-Type'); // application/json
print_r($res->json()); // decoded JSON array

// Файл upload хийх / Upload file
$res = $curl->upload('https://httpbin.org/post', '/path/to/file.pdf');

// Дахин оролдох / Retry on failure
$res = $curl->sendWithRetry('https://httpbin.org/get', retries: 3);

// Debug горим / Debug mode
$curl->enableDebug(true);
$curl->send('https://httpbin.org/get');
print_r($curl->getDebugLog());

// Хариуг хэвлэх / Print response
echo $response;

JSONClient - JSON API-тэй ажиллах

use codesaur\Http\Client\JSONClient;

// JSONClient үүсгэх / Create JSONClient instance
$client = new JSONClient();

// GET хүсэлт илгээх / Send GET request
$response = $client->get(
    'https://httpbin.org/get',
    ['hello' => 'world']
);

// POST хүсэлт илгээх / Send POST request
$response = $client->post(
    'https://httpbin.org/post',
    ['test' => 'codesaur']
);

// HTTP/1.1 хувилбар ашиглах (HTTP/2 алдаанаас сэргийлэх)
// Use HTTP/1.1 version (to prevent HTTP/2 errors)
$response = $client->post(
    'https://api.example.com/endpoint',
    ['data' => 'value'],
    ['Authorization' => 'Bearer token'],
    [CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1]
);

// Base URL ашиглах / Use Base URL
$api = new JSONClient('https://api.example.com/v1');
$users = $api->get('/users');

// PATCH хүсэлт / PATCH request (partial update)
$response = $client->patch(
    'https://httpbin.org/patch',
    ['status' => 'active']
);

// Хариуг хэвлэх / Print response
print_r($response);

Mail - MIME HTML + Хавсралттай имэйл клиент

use codesaur\Http\Client\Mail;

// Mail үүсгэх / Create Mail instance
$mail = new Mail();

// Хүлээн авагч тохируулах / Set recipient
$mail->targetTo('user@example.com', 'Хэрэглэгч');
// Илгээгч тохируулах / Set sender
$mail->setFrom('no-reply@example.com', 'codesaur');
// Гарчиг тохируулах / Set subject
$mail->setSubject('Сайн байна уу?');
// Зурвас тохируулах / Set message
$mail->setMessage('<h1>Hello!</h1><p>Тест имэйл.</p>');

// Файл хавсралт нэмэх / Add file attachment
$mail->addFileAttachment(__DIR__ . '/file.pdf');
// URL-аас хавсралт нэмэх / Add attachment from URL
$mail->addUrlAttachment('https://example.com/logo.png');

// Имэйл илгээх / Send email
$mail->sendMail();

Running Tests

Тест ажиллуулах / Run tests:

# Бүх тестүүдийг ажиллуулах / Run all tests
composer test

# Зөвхөн unit тест / Unit tests only
composer test:unit

# Зөвхөн integration тест / Integration tests only
composer test:integration

# Coverage-тэй тест ажиллуулах / Run tests with coverage
composer test:coverage

Changelog

Contributing & Security

License

This project is licensed under the MIT License.

Author

Narankhuu
codesaur@gmail.com
https://github.com/codesaur

codesaur ecosystem: https://codesaur.net

codesaur/http-client 适用场景与选型建议

codesaur/http-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 918 次下载、GitHub Stars 达 1, 最近一次更新时间为 2021 年 10 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「mail」 「http」 「client」 「http-client」 「codesaur」 「mongol」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 codesaur/http-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 codesaur/http-client 我们能提供哪些服务?
定制开发 / 二次开发

基于 codesaur/http-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 918
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 17
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-10-09