Security update for Core, with self-updated composer
[yaffs-website] / vendor / zendframework / zend-stdlib / src / ParametersInterface.php
1 <?php
2 /**
3  * Zend Framework (http://framework.zend.com/)
4  *
5  * @link      http://github.com/zendframework/zf2 for the canonical source repository
6  * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
7  * @license   http://framework.zend.com/license/new-bsd New BSD License
8  */
9
10 namespace Zend\Stdlib;
11
12 use ArrayAccess;
13 use Countable;
14 use Serializable;
15 use Traversable;
16
17 /*
18  * Basically, an ArrayObject. You could simply define something like:
19  *     class QueryParams extends ArrayObject implements Parameters {}
20  * and have 90% of the functionality
21  */
22 interface ParametersInterface extends ArrayAccess, Countable, Serializable, Traversable
23 {
24     /**
25      * Constructor
26      *
27      * @param array $values
28      */
29     public function __construct(array $values = null);
30
31     /**
32      * From array
33      *
34      * Allow deserialization from standard array
35      *
36      * @param array $values
37      * @return mixed
38      */
39     public function fromArray(array $values);
40
41     /**
42      * From string
43      *
44      * Allow deserialization from raw body; e.g., for PUT requests
45      *
46      * @param $string
47      * @return mixed
48      */
49     public function fromString($string);
50
51     /**
52      * To array
53      *
54      * Allow serialization back to standard array
55      *
56      * @return mixed
57      */
58     public function toArray();
59
60     /**
61      * To string
62      *
63      * Allow serialization to query format; e.g., for PUT or POST requests
64      *
65      * @return mixed
66      */
67     public function toString();
68
69     /**
70      * Get
71      *
72      * @param string $name
73      * @param mixed|null $default
74      * @return mixed
75      */
76     public function get($name, $default = null);
77
78     /**
79      * Set
80      *
81      * @param string $name
82      * @param mixed $value
83      * @return ParametersInterface
84      */
85     public function set($name, $value);
86 }