本文整理汇总了PHP中SimpleUrl::getEncodedRequest方法的典型用法代码示例。如果您正苦于以下问题:PHP SimpleUrl::getEncodedRequest方法的具体用法?PHP SimpleUrl::getEncodedRequest怎么用?PHP SimpleUrl::getEncodedRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleUrl
的用法示例。
在下文中一共展示了SimpleUrl::getEncodedRequest方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testEncodedParameters
function testEncodedParameters()
{
$url = new SimpleUrl("");
$url->addRequestParameter("a", '?!"\'#~@[]{}:;<>,./|£$%^&*()_+-=');
$this->assertIdentical($request = $url->getEncodedRequest(), "?a=%3F%21%22%27%23%7E%40%5B%5D%7B%7D%3A%3B%3C%3E%2C.%2F%7C%A3%24%25%5E%26%2A%28%29_%2B-%3D");
$url = new SimpleUrl("?a=%3F%21%22%27%23%7E%40%5B%5D%7B%7D%3A%3B%3C%3E%2C.%2F%7C%A3%24%25%5E%26%2A%28%29_%2B-%3D");
$request = $url->getRequest();
$this->assertEqual($request["a"], '?!"\'#~@[]{}:;<>,./|£$%^&*()_+-=');
}
示例2: assertUrl
function assertUrl($raw, $parts, $params = false, $coords = false)
{
if (!is_array($params)) {
$params = array();
}
$url = new SimpleUrl($raw);
$this->assertIdentical($url->getScheme(), $parts[0], "[{$raw}] scheme -> %s");
$this->assertIdentical($url->getUsername(), $parts[1], "[{$raw}] username -> %s");
$this->assertIdentical($url->getPassword(), $parts[2], "[{$raw}] password -> %s");
$this->assertIdentical($url->getHost(), $parts[3], "[{$raw}] host -> %s");
$this->assertIdentical($url->getPort(), $parts[4], "[{$raw}] port -> %s");
$this->assertIdentical($url->getPath(), $parts[5], "[{$raw}] path -> %s");
$this->assertIdentical($url->getTld(), $parts[6], "[{$raw}] tld -> %s");
$this->assertIdentical($url->getEncodedRequest(), $parts[7], "[{$raw}] encoded -> %s");
$this->assertIdentical($url->getFragment(), $parts[8], "[{$raw}] fragment -> %s");
if ($coords) {
$this->assertIdentical($url->getX(), $coords[0], "[{$raw}] x -> %s");
$this->assertIdentical($url->getY(), $coords[1], "[{$raw}] y -> %s");
}
}
示例3: assertUrl
function assertUrl($raw, $parts, $params = false)
{
if (!is_array($params)) {
$params = array();
}
$url = new SimpleUrl($raw);
$this->assertIdentical($url->getScheme(), $parts[0], "[{$raw}] scheme->%s");
$this->assertIdentical($url->getUsername(), $parts[1], "[{$raw}] username->%s");
$this->assertIdentical($url->getPassword(), $parts[2], "[{$raw}] password->%s");
$this->assertIdentical($url->getHost(), $parts[3], "[{$raw}] host->%s");
$this->assertIdentical($url->getPort(), $parts[4], "[{$raw}] port->%s");
$this->assertIdentical($url->getPath(), $parts[5], "[{$raw}] path->%s");
$this->assertIdentical($url->getTld(), $parts[6], "[{$raw}] tld->%s");
$this->assertIdentical($url->getEncodedRequest(), $parts[7], "[{$raw}] encoded->%s");
$query = new SimpleQueryString();
foreach ($params as $key => $value) {
$query->add($key, $value);
}
$this->assertIdentical($url->getRequest(), $query, "[{$raw}] request->%s");
$this->assertIdentical($url->getFragment(), $parts[8], "[{$raw}] fragment->%s");
}
示例4: testUrlWithRequestKeyEncoded
function testUrlWithRequestKeyEncoded()
{
$url = new SimpleUrl('/?foo%5B1%5D=bar');
$this->assertEqual($url->getEncodedRequest(), '?foo%5B1%5D=bar');
$url->addRequestParameter('a[1]', 'b[]');
$this->assertEqual($url->getEncodedRequest(), '?foo%5B1%5D=bar&a%5B1%5D=b%5B%5D');
$url = new SimpleUrl('/');
$url->addRequestParameter('a[1]', 'b[]');
$this->assertEqual($url->getEncodedRequest(), '?a%5B1%5D=b%5B%5D');
// param name, looking like pair
$url = new SimpleUrl('/');
$url->addRequestParameter('foo[]=bar', '');
$this->assertEqual($url->getEncodedRequest(), '?foo%5B%5D%3Dbar=');
$url = new SimpleUrl('/?foo%5B%5D%3Dbar=');
$this->assertEqual($url->getEncodedRequest(), '?foo%5B%5D%3Dbar=');
}
示例5: fetch
/**
* @param SimpleUrl
* @param SimpleEncoding
* @return k_ActingAsSimpleHttpResponse
*/
protected function fetch(SimpleUrl $url, SimpleEncoding $parameters)
{
// extract primitives from SimpleTest abstractions
$url_path = $url->getPath();
$url_query = array();
parse_str(str_replace('?', '', $url->getEncodedRequest()), $url_query);
$method = $parameters->getMethod();
$data = array();
foreach ($parameters->getAll() as $pair) {
$data[$pair->getKey()] = $pair->getValue();
}
if (!in_array($url->getHost(), array("", $this->servername))) {
return new k_ActingAsSimpleHttpResponse($url, $data, array("HTTP/1.1 502"), "External URL requested: " . $url->asString(), $method);
}
// set up a mocked environment
$server = array('SERVER_NAME' => $this->servername, 'REQUEST_METHOD' => $method, 'REQUEST_URI' => $url_path);
$headers = new k_VirtualHeaders();
$this->authenticator->addHeaders($headers, $url);
foreach ($this->additional_headers as $line) {
$headers->addHeaderLine($line);
}
$socket_buffer = new k_VirtualSocketBuffer();
$parameters->writeHeadersTo($socket_buffer);
foreach ($socket_buffer->getLines() as $line) {
$headers->addHeaderLine($line);
}
$superglobals = new k_adapter_MockGlobalsAccess($url_query, $data, $server, $headers->headers());
$response = k()->setContext(new k_HttpRequest("", null, $this->identity_loader, $this->language_loader, $this->translator_loader, $superglobals, $this->cookie_access, $this->session_access))->setComponentCreator($this->components)->setCharsetStrategy($this->charset_strategy)->run($this->root_class_name);
$output = new k_SimpleOutputAccess();
$response->out($output);
return $output->toSimpleHttpResponse($url, $data, $method);
}