<?php namespace App\Util\HttpSignatures; class HeaderList { /** @var array */ public $names; /** * @param array $names */ public function __construct(array $names) { $this->names = array_map( [$this, 'normalize'], $names ); } /** * @param $string * * @return HeaderList */ public static function fromString($string) { return new static(explode(' ', $string)); } /** * @return string */ public function string() { return implode(' ', $this->names); } /** * @param $name * * @return string */ private function normalize($name) { return strtolower($name); } }