upgrade zend (#1559)
[openemr.git] / vendor / zendframework / zend-stdlib / src / ParametersInterface.php
blobfeeda580735f9607bec0fcc2ada8b47b7eb3a93a
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
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 */
10 namespace Zend\Stdlib;
12 use ArrayAccess;
13 use Countable;
14 use Serializable;
15 use Traversable;
18 * Basically, an ArrayObject. You could simply define something like:
19 * class QueryParams extends ArrayObject implements Parameters {}
20 * and have 90% of the functionality
22 interface ParametersInterface extends ArrayAccess, Countable, Serializable, Traversable
24 /**
25 * Constructor
27 * @param array $values
29 public function __construct(array $values = null);
31 /**
32 * From array
34 * Allow deserialization from standard array
36 * @param array $values
37 * @return mixed
39 public function fromArray(array $values);
41 /**
42 * From string
44 * Allow deserialization from raw body; e.g., for PUT requests
46 * @param $string
47 * @return mixed
49 public function fromString($string);
51 /**
52 * To array
54 * Allow serialization back to standard array
56 * @return mixed
58 public function toArray();
60 /**
61 * To string
63 * Allow serialization to query format; e.g., for PUT or POST requests
65 * @return mixed
67 public function toString();
69 /**
70 * Get
72 * @param string $name
73 * @param mixed|null $default
74 * @return mixed
76 public function get($name, $default = null);
78 /**
79 * Set
81 * @param string $name
82 * @param mixed $value
83 * @return ParametersInterface
85 public function set($name, $value);