PHPackages                             cloud-castle/http-request - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. cloud-castle/http-request

ActiveLibrary[HTTP &amp; Networking](/categories/http)

cloud-castle/http-request
=========================

Библиотека обработки HTTP запросов

1.0.0.9(10mo ago)12MITPHPPHP &gt;=8.CI passing

Since Jun 17Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/zorinalexey/cloud-castle-http-request)[ Packagist](https://packagist.org/packages/cloud-castle/http-request)[ RSS](/packages/cloud-castle-http-request/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (11)Used By (0)

CloudCastle HttpRequest
=======================

[](#cloudcastle-httprequest)

[![Coverage Status](https://camo.githubusercontent.com/cb5030e5e55e94b0d21b319795670812636728b1e51b3d7b9f3cff594b390811/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d6175746f2d627269676874677265656e)](coverage-report/index.html)[![Build Status](https://camo.githubusercontent.com/b0c6c6845a74cb65a7f0a32bdcfd8fbf80eeb40026c4029af424ab371c94b8bd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c642d70617373696e672d627269676874677265656e)](https://github.com/zorinalexey/cloud-castle-http-request/actions)[![PHPStan](https://camo.githubusercontent.com/7f26a9b61b1d89803ba7d53e8f48d60af70308d6519282c0fe025c1913d6b981/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068707374616e2d70617373696e672d627269676874677265656e)](https://phpstan.org/)[![License](https://camo.githubusercontent.com/4143bce1eaeb6638e1d4090dfc7da04cc35b69ec0fab82d5090cde649153b47a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7a6f72696e616c657865792f636c6f75642d636173746c652d687474702d72657175657374)](LICENSE)[![Packagist Version](https://camo.githubusercontent.com/801d1f531601c08c4df82d508000b5be6f748bc23833c93d9f04915863d59181/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636c6f75642d636173746c652f687474702d72657175657374)](https://packagist.org/packages/cloud-castle/http-request)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#)

[English](README.en.md) | [Deutsch](README.de.md) | [Français](README.fr.md)
----------------------------------------------------------------------------

[](#english--deutsch--français)

**CloudCastle HttpRequest** — современная PHP-библиотека для удобной, безопасной и расширяемой работы с HTTP-запросами, сессиями, cookie, файлами, заголовками, серверными переменными и окружением. Поддерживает автоматический разбор JSON и XML, паттерн Singleton, магические методы, глобальные вспомогательные функции и полностью покрыта тестами.

---

🧪 Статистика тестов и покрытия
------------------------------

[](#-статистика-тестов-и-покрытия)

- **PHPUnit**: 163 теста, 194 утверждения, 2 пропущено
- **Покрытие строк**: 90.43% (624 / 690)
- **Покрытие методов**: 73.33% (44 / 60)
- **Покрытие классов**: 61.54% (8 / 13)
- **Последний запуск**: 2025-06-29
- **Среднее время выполнения тестов**: ~0.5 сек

Покрытие по директориямДиректорияСтрокиМетодыКлассыHttp82.79% (101/122)83.87% (26/31)57.14% (4/7)Server70.83% (17/24)75.00% (3/4)50.00% (1/2)Traits100.00% (17/17)100.00% (6/6)100.00% (3/3)helpers0.00% (0/34)0.00% (0/8)—🧪 Подробная статистика покрытия по классам
------------------------------------------

[](#-подробная-статистика-покрытия-по-классам)

КлассСтрокиМетодыПубличные методыПокрытие методов**Cookie**100% (20/20)100% (7/7)7/7100%**Get**100% (4/4)100% (1/1)1/1100%**Post**100% (4/4)100% (1/1)1/1100%**Files**100% (15/15)100% (1/1)1/1100%**Headers**91% (21/23)67% (2/3)2/367%**Session**78% (25/32)67% (6/9)6/967%**UploadFile**50% (12/24)89% (8/9)8/989%**Server**100% (4/4)100% (1/1)1/1100%**Env**65% (13/20)67% (2/3)2/367%**Непокрытые публичные методы (по dashboard.html):**

- UploadFile::save — 14% покрытия
- Session::\_\_set, \_\_get — 0% покрытия
- Headers::\_\_construct — 87% покрытия (частично)
- Env::\_\_set — 53% покрытия
- (и др., см. dashboard.html)

---

📎 Быстрые ссылки
----------------

[](#-быстрые-ссылки)

- [Документация](#%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5-api)
- [Примеры](#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Архитектура](#%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B)
- [FAQ](#faq-%D0%B8-troubleshooting)
- [Changelog](CHANGELOG.md)
- [Issues](https://github.com/zorinalexey/Http-Request/issues)
- [Pull Requests](https://github.com/zorinalexey/Http-Request/pulls)

---

⚙️ Требования
-------------

[](#️-требования)

- PHP &gt;= 8.3
- Расширения: ext-json, ext-mbstring
- Совместимость: любой фреймворк, поддержка PSR-4

---

🚀 CI/CD Workflow (GitHub Actions)
---------------------------------

[](#-cicd-workflow-github-actions)

```
name: CI

on:
  push:
    branches: [ main, master ]
  pull_request:
    branches: [ main, master ]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        php-version: [ '8.3', '8.4' ]
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-version }}
          extensions: mbstring, xml, simplexml, curl, json, session
          coverage: xdebug

      - name: Install dependencies
        run: composer install --no-interaction

      - name: Run tests
        run: composer test

      - name: Run static analysis
        run: composer phpstan

      - name: Coverage (text)
        run: composer coverage

      - name: Coverage (HTML)
        run: composer coverage-html

      - name: Generate documentation
        run: composer docs-gen

      - name: Upload coverage report
        uses: actions/upload-artifact@v4
        with:
          name: coverage-report
          path: coverage-report/

      - name: Upload documentation
        uses: actions/upload-artifact@v4
        with:
          name: documentation
          path: build/api/
```

---

🗺️ Архитектура (Mermaid)
------------------------

[](#️-архитектура-mermaid)

 ```
graph TD;
  Request -->|has| Cookie
  Request -->|has| Session
  Request -->|has| Headers
  Request -->|has| Get
  Request -->|has| Post
  Request -->|has| Files
  Request -->|has| Server
  Request -->|has| Env
  Cookie -->|uses| GetInstanceTrait
  Session -->|uses| SetExpireTrait
  Headers -->|uses| GetDataTrait
  Headers -->|uses| GetInstanceTrait
  Env -->|uses| GetDataTrait
  Env -->|uses| GetInstanceTrait
```

      Loading ---

📋 Содержание
------------

[](#-содержание)

- [Возможности](#%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8)
- [Установка](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [Быстрый старт](#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82)
- [Архитектура и компоненты](#%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B)
- [Подробное API](#%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5-api)
- [Примеры использования](#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Вспомогательные функции](#%D0%B2%D1%81%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8)
- [Интеграция с фреймворками](#%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D1%81-%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D0%B0%D0%BC%D0%B8)
- [Тестирование](#%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
- [FAQ](#faq)
- [Лицензия и контакты](#%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F-%D0%B8-%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B)

---

🚀 Возможности
-------------

[](#-возможности)

- Универсальный доступ к данным запроса: GET, POST, COOKIE, SESSION, FILES, HEADERS, SERVER, ENV
- Автоматический разбор JSON и XML тела запроса
- Удобная работа с cookie и сессиями (Singleton, цепочки вызовов, сериализация)
- Безопасная работа с загруженными файлами
- Глобальные функции для быстрого доступа к данным
- Гибкая настройка времени жизни сессий и cookie
- Совместимость с современными стандартами PHP (8.1+)
- Полное покрытие тестами (PHPUnit)
- Расширяемость и интеграция с любыми фреймворками

---

📦 Установка
-----------

[](#-установка)

### Через Composer (рекомендуется)

[](#через-composer-рекомендуется)

```
composer require cloud-castle/http-request
```

### Ручная установка

[](#ручная-установка)

```
git clone https://github.com/zorinalexey/cloud-castle-http-request
cd http-request
composer install
```

---

⚡ Быстрый старт
---------------

[](#-быстрый-старт)

```
