public function testIsUrlEncoding() { $this->assertEquals('RFC 3986', $this->q->getUrlEncoding()); $this->assertTrue($this->q->isUrlEncoding()); $this->assertEquals('foo%20bar', $this->q->encodeValue('foo bar')); $this->q->useUrlEncoding(QueryString::FORM_URLENCODED); $this->assertTrue($this->q->isUrlEncoding()); $this->assertEquals(QueryString::FORM_URLENCODED, $this->q->getUrlEncoding()); $this->assertEquals('foo+bar', $this->q->encodeValue('foo bar')); $this->assertSame($this->q, $this->q->useUrlEncoding(false)); $this->assertFalse($this->q->isUrlEncoding()); $this->assertFalse($this->q->isUrlEncoding()); }
public function aggregate($key, $value, QueryString $query) { if ($query->isUrlEncoding()) { return array($query->encodeValue($key) => implode(',', array_map(array($query, 'encodeValue'), $value))); } else { return array($key => implode(',', $value)); } }
public function aggregate($key, $value, QueryString $query) { $key = "{$key}[]"; if ($query->isUrlEncoding()) { return array($query->encodeValue($key) => array_map(array($query, 'encodeValue'), $value)); } else { return array($key => $value); } }
/** * {@inheritDoc} */ public function aggregate($key, $value, QueryString $query) { $ret = []; foreach ($value as $k => $v) { if (is_int($k)) { return [$query->encodeValue("{$key}[]") => $value]; } $k = "{$key}[{$k}]"; if (is_array($v)) { $ret = array_merge($ret, self::aggregate($k, $v, $query)); } else { $ret[$query->encodeValue($k)] = $query->encodeValue($v); } } return $ret; }