Вход Регистрация
Файл: monst/Xsolla/Guzzle/Http/Message/Header/HeaderCollection.php
Строк: 62
<?php

namespace GuzzleHttpMessageHeader;

use 
GuzzleCommonToArrayInterface;

/**
 * Provides a case-insensitive collection of headers
 */
class HeaderCollection implements IteratorAggregateCountableArrayAccessToArrayInterface
{
    
/** @var array */
    
protected $headers;

    public function 
__construct($headers = array())
    {
        
$this->headers $headers;
    }

    public function 
__clone()
    {
        foreach (
$this->headers as &$header) {
            
$header = clone $header;
        }
    }

    
/**
     * Clears the header collection
     */
    
public function clear()
    {
        
$this->headers = array();
    }

    
/**
     * Set a header on the collection
     *
     * @param HeaderInterface $header Header to add
     *
     * @return self
     */
    
public function add(HeaderInterface $header)
    {
        
$this->headers[strtolower($header->getName())] = $header;

        return 
$this;
    }

    
/**
     * Get an array of header objects
     *
     * @return array
     */
    
public function getAll()
    {
        return 
$this->headers;
    }

    
/**
     * Alias of offsetGet
     */
    
public function get($key)
    {
        return 
$this->offsetGet($key);
    }

    public function 
count()
    {
        return 
count($this->headers);
    }

    public function 
offsetExists($offset)
    {
        return isset(
$this->headers[strtolower($offset)]);
    }

    public function 
offsetGet($offset)
    {
        
$l strtolower($offset);

        return isset(
$this->headers[$l]) ? $this->headers[$l] : null;
    }

    public function 
offsetSet($offset$value)
    {
        
$this->add($value);
    }

    public function 
offsetUnset($offset)
    {
        unset(
$this->headers[strtolower($offset)]);
    }

    public function 
getIterator()
    {
        return new 
ArrayIterator($this->headers);
    }

    public function 
toArray()
    {
        
$result = array();
        foreach (
$this->headers as $header) {
            
$result[$header->getName()] = $header->toArray();
        }

        return 
$result;
    }
}
Онлайн: 1
Реклама