mirror of
https://github.com/Combodo/iTop.git
synced 2026-03-07 01:54:12 +01:00
83 lines
1.7 KiB
PHP
83 lines
1.7 KiB
PHP
<?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);
|
|
}
|