public function set($key, $value)
	{
		if (!is_string($key))
			throw new InvalidArgumentException('First parameter has to be a string');

		if (!$this->isTypeSupported(gettype($value)))
			throw new UnsupportedException('First parameter has to be an int, a double, a bool or a string');

		try
		{
			// try to find the key, and set the value if this succeeds
			$this->getRecursive($key, $this->data);
			$this->data = $this->setRecursive($key, $value);
		}
		catch (ElementNotFoundException $e)
		{
			$this->data = array_merge_recursive($this->data, $this->setRecursive($key, $value));
		}
	}
public function set($key, $value)
	{
		if (!is_string($key))
			throw new InvalidArgumentException('First parameter has to be a string');

		if (!$this->isTypeSupported(gettype($value)))
			throw new UnsupportedException('First parameter has to be an int, a double, a bool or a string');

		try
		{
			// try to find the key, and set the value if this succeeds
			$this->getRecursive($key, $this->data);
			$this->data = $this->setRecursive($key, $value);
		}
		catch (ElementNotFoundException $e)
		{
			$this->data = array_merge_recursive($this->data, $this->setRecursive($key, $value));
		}
	}
public function set ( $ key , $ value ) { if ( ! is_string ( $ key ) ) throw new InvalidArgumentException ( 'First parameter has to be a string' ) ; if ( ! $ this -> isTypeSupported ( gettype ( $ value ) ) ) throw new UnsupportedException ( 'First parameter has to be an int, a double, a bool or a string' ) ; try { // try to find the key, and set the value if this succeeds $ this -> getRecursive ( $ key , $ this -> data ) ; $ this -> data = $ this -> setRecursive ( $ key , $ value ) ; } catch ( ElementNotFoundException $ e ) { $ this -> data = array_merge_recursive ( $ this -> data , $ this -> setRecursive ( $ key , $ value ) ) ; } }
Sets the value, not regarding whether the key does exist yet or it does not

@param $key string
@param $value mixed
@throws InvalidArgumentException
@throws UnsupportedException
@return void
Sets the value not regarding whether the key does exist yet or it does not