Chris@0: exchangeArray($values); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Populate from query string Chris@0: * Chris@0: * @param string $string Chris@0: * @return void Chris@0: */ Chris@0: public function fromString($string) Chris@0: { Chris@0: $array = []; Chris@0: parse_str($string, $array); Chris@0: $this->fromArray($array); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Serialize to native PHP array Chris@0: * Chris@0: * @return array Chris@0: */ Chris@0: public function toArray() Chris@0: { Chris@0: return $this->getArrayCopy(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Serialize to query string Chris@0: * Chris@0: * @return string Chris@0: */ Chris@0: public function toString() Chris@0: { Chris@12: return http_build_query($this->toArray()); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Retrieve by key Chris@0: * Chris@0: * Returns null if the key does not exist. Chris@0: * Chris@0: * @param string $name Chris@0: * @return mixed Chris@0: */ Chris@0: public function offsetGet($name) Chris@0: { Chris@0: if ($this->offsetExists($name)) { Chris@0: return parent::offsetGet($name); Chris@0: } Chris@0: return; Chris@0: } Chris@0: Chris@0: /** Chris@0: * @param string $name Chris@0: * @param mixed $default optional default value Chris@0: * @return mixed Chris@0: */ Chris@0: public function get($name, $default = null) Chris@0: { Chris@0: if ($this->offsetExists($name)) { Chris@0: return parent::offsetGet($name); Chris@0: } Chris@0: return $default; Chris@0: } Chris@0: Chris@0: /** Chris@0: * @param string $name Chris@0: * @param mixed $value Chris@0: * @return Parameters Chris@0: */ Chris@0: public function set($name, $value) Chris@0: { Chris@0: $this[$name] = $value; Chris@0: return $this; Chris@0: } Chris@0: }