Вход Регистрация
Файл: concrete5.7.5.6/concrete/vendor/zendframework/zend-stdlib/src/Parameters.php
Строк: 96
<?php
/**
 * Zend Framework (http://framework.zend.com/)
 *
 * @link      http://github.com/zendframework/zf2 for the canonical source repository
 * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd New BSD License
 */

namespace ZendStdlib;

use 
ArrayObject as PhpArrayObject;

class 
Parameters extends PhpArrayObject implements ParametersInterface
{
    
/**
     * Constructor
     *
     * Enforces that we have an array, and enforces parameter access to array
     * elements.
     *
     * @param  array $values
     */
    
public function __construct(array $values null)
    {
        if (
null === $values) {
            
$values = array();
        }
        
parent::__construct($valuesArrayObject::ARRAY_AS_PROPS);
    }

    
/**
     * Populate from native PHP array
     *
     * @param  array $values
     * @return void
     */
    
public function fromArray(array $values)
    {
        
$this->exchangeArray($values);
    }

    
/**
     * Populate from query string
     *
     * @param  string $string
     * @return void
     */
    
public function fromString($string)
    {
        
$array = array();
        
parse_str($string$array);
        
$this->fromArray($array);
    }

    
/**
     * Serialize to native PHP array
     *
     * @return array
     */
    
public function toArray()
    {
        return 
$this->getArrayCopy();
    }

    
/**
     * Serialize to query string
     *
     * @return string
     */
    
public function toString()
    {
        return 
http_build_query($this);
    }

    
/**
     * Retrieve by key
     *
     * Returns null if the key does not exist.
     *
     * @param  string $name
     * @return mixed
     */
    
public function offsetGet($name)
    {
        if (isset(
$this[$name])) {
            return 
parent::offsetGet($name);
        }
        return 
null;
    }

    
/**
     * @param string $name
     * @param mixed $default optional default value
     * @return mixed
     */
    
public function get($name$default null)
    {
        if (isset(
$this[$name])) {
            return 
parent::offsetGet($name);
        }
        return 
$default;
    }

    
/**
     * @param string $name
     * @param mixed $value
     * @return Parameters
     */
    
public function set($name$value)
    {
        
$this[$name] = $value;
        return 
$this;
    }
}
Онлайн: 0
Реклама