https://github.com/slexx1234/headers
Http headers parser
https://github.com/slexx1234/headers
headers http php
Last synced: 6 months ago
JSON representation
Http headers parser
- Host: GitHub
- URL: https://github.com/slexx1234/headers
- Owner: slexx1234
- License: mit
- Created: 2017-07-19T18:46:10.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-07-27T08:14:30.000Z (over 8 years ago)
- Last Synced: 2025-05-20T07:52:10.493Z (9 months ago)
- Topics: headers, http, php
- Language: PHP
- Homepage:
- Size: 6.84 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
Headers
=========================================
[](https://packagist.org/packages/slexx/headers) [](https://packagist.org/packages/slexx/headers) [](https://packagist.org/packages/slexx/headers) [](https://packagist.org/packages/slexx/headers)
## Установка
```
$ composer require slexx/headers
```
## Базовое использование
Класс разбивает `HTTP` заголовки на массив и предоставляет удобную обёртку для ними.
```php
$headers = new Slexx\Headers\Headers("Content-Type: image/jpeg\r\nAccept-Charset: utf-8\r\nX-My-Custom-Header: Zeke are cool");
echo $headers->get('Content-Type');
// -> image/jpeg
```
## API
### Headers::parse($headers)
**Аргументы:**
| Имя | Тип | Описание |
| --- | --- | -------- |
| `$headers` | `array`, `string` | Если передать строку она будет разбита в массив, если массив он будетнормализован |
**Возвращает:** `array` - Массив заголовков где ключ это имя заголовка.
**Пример:**
```php
use Slexx\Headers\Headers;
var_dump(Headers::parse("Content-Type: image/jpeg\r\nAccept-Charset: utf-8\r\nX-My-Custom-Header: Zeke are cool"));
var_dump(Headers::parse([
'Content-Type: image/jpeg',
'Accept-Charset: utf-8',
'X-My-Custom-Header: Zeke are cool'
]));
```
### Headers->set($name, $value)
Добавляет заголовок или изменяет существующий.
**Аргументы:**
| Имя | Тип | Описание |
| -------- | -------- | ------------------ |
| `$name` | `string` | Имя заголовка |
| `$value` | `string` | Значение заголовка |
**Возвращает:** `void`
### Headers->remove($name)
Удаляет заголовок
**Аргументы:**
| Имя | Тип | Описание |
| -------- | -------- | ------------------ |
| `$name` | `string` | Имя заголовка |
**Возвращает:** `void`
### Headers->has($name)
Проверяет существование заголовка
**Аргументы:**
| Имя | Тип | Описание |
| -------- | -------- | ------------------ |
| `$name` | `string` | Имя заголовка |
**Возвращает:** `boolean`
### Headers->get($name)
Возвращает значение заголовка
**Аргументы:**
| Имя | Тип | Описание |
| -------- | -------- | ------------------ |
| `$name` | `string` | Имя заголовка |
**Возвращает:** `string|null`
### Headers->__toString()
Преобразует заголовки в строку
**Возвращает:** `string`
### Headers->toArray()
Возвращает массив заголовков
**Возвращает:** `array`
### Headers->count()
Подсщитывает колличество заголовков
**Возвращает:** `int`
### Headers->getIterator()
Позволяет перебирать заголовки в цикле `foreach`
**Возвращает:** `ArrayIterator`
**Пример:**
```php
$headers = new Headers([
'Content-Type: image/jpeg',
'Accept-Charset: utf-8',
'X-My-Custom-Header: Zeke are cool'
]);
foreach($headers as $name => $value) {
echo "$name: $value\r\n";
}
```