D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
plib
/
vendor
/
laminas
/
laminas-stdlib
/
src
/
Filename :
ParametersInterface.php
back
Copy
<?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); }