You are here

ParametersInterface.php in Zircon Profile 8.0

Same filename and directory in other branches
  1. 8 vendor/zendframework/zend-stdlib/src/ParametersInterface.php

Namespace

Zend\Stdlib

File

vendor/zendframework/zend-stdlib/src/ParametersInterface.php
View source
<?php

/**
 * Zend Framework (http://framework.zend.com/)
 *
 * @link      http://github.com/zendframework/zf2 for the canonical source repository
 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd New BSD License
 */
namespace Zend\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
 */
interface ParametersInterface extends ArrayAccess, Countable, Serializable, Traversable {

  /**
   * Constructor
   *
   * @param array $values
   */
  public function __construct(array $values = null);

  /**
   * From array
   *
   * Allow deserialization from standard array
   *
   * @param array $values
   * @return mixed
   */
  public function fromArray(array $values);

  /**
   * From string
   *
   * Allow deserialization from raw body; e.g., for PUT requests
   *
   * @param $string
   * @return mixed
   */
  public function fromString($string);

  /**
   * To array
   *
   * Allow serialization back to standard array
   *
   * @return mixed
   */
  public function toArray();

  /**
   * To string
   *
   * Allow serialization to query format; e.g., for PUT or POST requests
   *
   * @return mixed
   */
  public function toString();

  /**
   * Get
   *
   * @param string $name
   * @param mixed|null $default
   * @return mixed
   */
  public function get($name, $default = null);

  /**
   * Set
   *
   * @param string $name
   * @param mixed $value
   * @return ParametersInterface
   */
  public function set($name, $value);

}

Interfaces