Class Header
Base class for header fields.
Classes that extend the class and support attributes must defined them during construct:
<?php namespace ICanBoogie\HTTP\Headers; class ContentDisposition extends Header { public function __construct($value=null, array $attributes=[]) { $this->parameters['filename'] = new HeaderParameter('filename'); parent::__construct($value, $attributes); } }
Magic properties are automatically mapped to parameters. The value of a parameter is accessed through its corresponding property:
<?php $cd = new ContentDisposition; $cd->filename = "Statistics.csv"; echo $cd->filename; // "Statistics.csv"
The instance of the parameter itself is accessed using the header as an array:
<?php $cd = new ContentDisposition; $cd['filename']->value = "Statistics.csv"; $cd['filename']->language = "en";
An alias to the ICanBoogie\HTTP\Headers\Header::$value
property can be defined by using the VALUE_ALIAS
constant. The
following code defines type
as an alias:
<?php class ContentDisposition extends Header { const VALUE_ALIAS = 'type'; }
- ICanBoogie\HTTP\Headers\Header implements ArrayAccess
Direct known subclasses
ICanBoogie\HTTP\Headers\ContentDisposition
,
ICanBoogie\HTTP\Headers\ContentType
Methods summary
public static
from( string|ICanBoogie\HTTP\Headers\Header
$source
)
: ICanBoogie\HTTP\Headers\Header
Creates a ICanBoogie\HTTP\Headers\Header
instance from the provided source.
protected static
parse( string $source
)
: array
Parse the provided source and extract its value and parameters.
public
offsetGet( string $attribute
)
: ICanBoogie\HTTP\Headers\HeaderParameter
Returns a ICanBoogie\HTTP\Headers\HeaderParameter
instance.
public
__construct( string $value
= '', array $parameters
= [] )
Initializes the $name, ICanBoogie\HTTP\Headers\Header::$value
and ICanBoogie\HTTP\Headers\Header::$parameters
properties.
Constants summary
Properties summary
protected
$parameters
: ICanBoogie\HTTP\Headers\HeaderParameter[]
The parameters supported by the header.
[]