1 <?php
2
3 /*
4 * This file is part of the ICanBoogie package.
5 *
6 * (c) Olivier Laviale <olivier.laviale@gmail.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace ICanBoogie\HTTP;
13
14 /**
15 * Representation of the `Content-Disposition` header field.
16 *
17 * <pre>
18 * <?php
19 *
20 * use ICanBoogie\HTTP\ContentDispositionHeader;
21 *
22 * $cd = new ContentDisposition;
23 * $cd->type = attachment;
24 * $cd->filename = "Résumé en €.csv";
25 *
26 * echo $cd; // attachment; filename*=UTF-8''R%C3%A9sum%C3%A9%20en%20%E2%82%AC.csv
27 * </pre>
28 *
29 * @property string $type The `disposition-type` part of the content disposition. Alias to {@link $value}.
30 * @property string $filename The `filename-parm` part of the content disposition.
31 *
32 * @see http://tools.ietf.org/html/rfc2616#section-19.5.1
33 * @see http://tools.ietf.org/html/rfc6266
34 */
35 class ContentDispositionHeader extends Header
36 {
37 const VALUE_ALIAS = 'type';
38
39 /**
40 * Defines the `filename` parameter.
41 */
42 public function __construct($value=null, array $attributes=array())
43 {
44 $this->parameters['filename'] = new HeaderParameter('filename');
45
46 parent::__construct($value, $attributes);
47 }
48 }