12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- declare(strict_types=1);
- namespace Laminas\Stdlib;
- use ArrayAccess;
- use Countable;
- use Serializable;
- use Traversable;
- /**
- * Basically, an ArrayObject. You could simply define something like:
- * class QueryParams extends ArrayObject implements Parameters {}
- * and have 90% of the functionality
- *
- * @template TKey
- * @template TValue
- * @template-extends ArrayAccess<TKey, TValue>
- * @template-extends Traversable<TKey, TValue>
- */
- interface ParametersInterface extends ArrayAccess, Countable, Serializable, Traversable
- {
- /**
- * Constructor
- *
- * @param array<TKey, TValue>|null $values
- */
- public function __construct(?array $values = null);
- /**
- * From array
- *
- * Allow deserialization from standard array
- *
- * @param array<TKey, TValue> $values
- * @return mixed
- */
- public function fromArray(array $values);
- /**
- * From string
- *
- * Allow deserialization from raw body; e.g., for PUT requests
- *
- * @param string $string
- * @return mixed
- */
- public function fromString($string);
- /**
- * To array
- *
- * Allow serialization back to standard array
- *
- * @return array<TKey, TValue>
- */
- public function toArray();
- /**
- * To string
- *
- * Allow serialization to query format; e.g., for PUT or POST requests
- *
- * @return string
- */
- public function toString();
- /**
- * @param TKey $name
- * @param TValue|null $default
- * @return mixed
- */
- public function get($name, $default = null);
- /**
- * @param TKey $name
- * @param TValue $value
- * @return ParametersInterface
- */
- public function set($name, $value);
- }
|