protected function parseKey($key, $value) {
		$point = strpos($key, '.');
		
		if ($point === false) {
			if (is_array($value)) {
				return [$key => array_map(['ZExt\Components\Std', 'parseValue'], $value)];
			}
			
			return [$key => Std::parseValue($value)];
		}
		
		$keyCurrent = trim(substr($key, 0, $point));
		$keyRemains = trim(substr($key, $point + 1));

		if (! isset($keyCurrent[0], $keyRemains[0])) {
			throw new InvalidIniKey('Invalid definition of the key "' . $key . '"');
		}

		return [$keyCurrent => $this->parseKey($keyRemains, $value)];
	}
protected function parseKey($key, $value) {
		$point = strpos($key, '.');
		
		if ($point === false) {
			if (is_array($value)) {
				return [$key => array_map(['ZExt\Components\Std', 'parseValue'], $value)];
			}
			
			return [$key => Std::parseValue($value)];
		}
		
		$keyCurrent = trim(substr($key, 0, $point));
		$keyRemains = trim(substr($key, $point + 1));

		if (! isset($keyCurrent[0], $keyRemains[0])) {
			throw new InvalidIniKey('Invalid definition of the key "' . $key . '"');
		}

		return [$keyCurrent => $this->parseKey($keyRemains, $value)];
	}
protected function parseKey ( $ key , $ value ) { $ point = strpos ( $ key , '.' ) ; if ( $ point === false ) { if ( is_array ( $ value ) ) { return [ $ key => array_map ( [ 'ZExt\Components\Std' , 'parseValue' ] , $ value ) ] ; } return [ $ key => Std :: parseValue ( $ value ) ] ; } $ keyCurrent = trim ( substr ( $ key , 0 , $ point ) ) ; $ keyRemains = trim ( substr ( $ key , $ point + 1 ) ) ; if ( ! isset ( $ keyCurrent [ 0 ] , $ keyRemains [ 0 ] ) ) { throw new InvalidIniKey ( 'Invalid definition of the key "' . $ key . '"' ) ; } return [ $ keyCurrent => $ this -> parseKey ( $ keyRemains , $ value ) ] ; }
Parse a key of an ini key-value pair

@param  string $key
@param  string $value
@return mixed
@throws InvalidIniKey
Parse a key of an ini key - value pair