当前位置: 首页>>代码示例>>PHP>>正文


PHP Url::setPath方法代码示例

本文整理汇总了PHP中Nette\Http\Url::setPath方法的典型用法代码示例。如果您正苦于以下问题:PHP Url::setPath方法的具体用法?PHP Url::setPath怎么用?PHP Url::setPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Nette\Http\Url的用法示例。


在下文中一共展示了Url::setPath方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setupCallbackUrl

 protected function setupCallbackUrl()
 {
     //Create and setup callback URL
     $this->callback_url = new Url();
     $this->callback_url->setScheme('http');
     $this->callback_url->setHost('ws.audioscrobbler.com');
     $this->callback_url->setPath('/2.0/');
     //2.0 - API version
     $this->callback_url->appendQuery("api_key={$this->key}");
     if ($this->data_format == self::DATA_JSON) {
         $this->callback_url->appendQuery('format=json');
     }
     //JSON result
 }
开发者ID:sg3tester,项目名称:songator,代码行数:14,代码来源:Lastfm.php

示例2: redirectToRequest

 /**
  * Restores request from session.
  * @param string $key
  */
 public function redirectToRequest($key)
 {
     $request = $this->requestStorage->loadRequest($key);
     if (!$request) {
         return;
     }
     $parameters = $request->getParameters();
     $parameters[Presenter::FLASH_KEY] = $this->getParameter(Presenter::FLASH_KEY);
     $parameters[RequestStorage::REQUEST_KEY] = $key;
     $request->setParameters($parameters);
     $refUrl = new Url($this->httpRequest->getUrl());
     $refUrl->setPath($this->httpRequest->getUrl()->getScriptPath());
     $url = $this->router->constructUrl($request, $refUrl);
     $this->redirectUrl($url);
 }
开发者ID:enumag,项目名称:application,代码行数:19,代码来源:RequestStoragePresenterTrait.php

示例3: createRequest

 /**
  * Request/URL factory.
  * @param  PresenterComponent  base
  * @param  string   destination in format "[[module:]presenter:]action" or "signal!" or "this"
  * @param  array    array of arguments
  * @param  string   forward|redirect|link
  * @return string   URL
  * @throws InvalidLinkException
  * @internal
  */
 protected function createRequest($component, $destination, array $args, $mode)
 {
     // note: createRequest supposes that saveState(), run() & tryCall() behaviour is final
     // cached services for better performance
     static $presenterFactory, $router, $refUrl;
     if ($presenterFactory === NULL) {
         $presenterFactory = $this->application->getPresenterFactory();
         $router = $this->application->getRouter();
         $refUrl = new Http\Url($this->httpRequest->getUrl());
         $refUrl->setPath($this->httpRequest->getUrl()->getScriptPath());
     }
     $this->lastCreatedRequest = $this->lastCreatedRequestFlag = NULL;
     // PARSE DESTINATION
     // 1) fragment
     $a = strpos($destination, '#');
     if ($a === FALSE) {
         $fragment = '';
     } else {
         $fragment = substr($destination, $a);
         $destination = substr($destination, 0, $a);
     }
     // 2) ?query syntax
     $a = strpos($destination, '?');
     if ($a !== FALSE) {
         parse_str(substr($destination, $a + 1), $args);
         // requires disabled magic quotes
         $destination = substr($destination, 0, $a);
     }
     // 3) URL scheme
     $a = strpos($destination, '//');
     if ($a === FALSE) {
         $scheme = FALSE;
     } else {
         $scheme = substr($destination, 0, $a);
         $destination = substr($destination, $a + 2);
     }
     // 4) signal or empty
     if (!$component instanceof Presenter || substr($destination, -1) === '!') {
         $signal = rtrim($destination, '!');
         $a = strrpos($signal, ':');
         if ($a !== FALSE) {
             $component = $component->getComponent(strtr(substr($signal, 0, $a), ':', '-'));
             $signal = (string) substr($signal, $a + 1);
         }
         if ($signal == NULL) {
             // intentionally ==
             throw new InvalidLinkException("Signal must be non-empty string.");
         }
         $destination = 'this';
     }
     if ($destination == NULL) {
         // intentionally ==
         throw new InvalidLinkException("Destination must be non-empty string.");
     }
     // 5) presenter: action
     $current = FALSE;
     $a = strrpos($destination, ':');
     if ($a === FALSE) {
         $action = $destination === 'this' ? $this->action : $destination;
         $presenter = $this->getName();
         $presenterClass = get_class($this);
     } else {
         $action = (string) substr($destination, $a + 1);
         if ($destination[0] === ':') {
             // absolute
             if ($a < 2) {
                 throw new InvalidLinkException("Missing presenter name in '{$destination}'.");
             }
             $presenter = substr($destination, 1, $a - 1);
         } else {
             // relative
             $presenter = $this->getName();
             $b = strrpos($presenter, ':');
             if ($b === FALSE) {
                 // no module
                 $presenter = substr($destination, 0, $a);
             } else {
                 // with module
                 $presenter = substr($presenter, 0, $b + 1) . substr($destination, 0, $a);
             }
         }
         try {
             $presenterClass = $presenterFactory->getPresenterClass($presenter);
         } catch (Application\InvalidPresenterException $e) {
             throw new InvalidLinkException($e->getMessage(), NULL, $e);
         }
     }
     // PROCESS SIGNAL ARGUMENTS
     if (isset($signal)) {
         // $component must be IStatePersistent
//.........这里部分代码省略.........
开发者ID:pdostal,项目名称:nette-blog,代码行数:101,代码来源:Presenter.php

示例4: link

 /**
  * @return string $url
  */
 public function link($destination, $args = [])
 {
     static $presenterFactory = NULL, $router = NULL, $refUrl = NULL;
     if ($presenterFactory === NULL) {
         $presenterFactory = $this->presenterFactory;
         $router = $this->router;
         $refUrl = new Url($this->httpRequest->getUrl());
         $refUrl->setPath($this->httpRequest->getUrl()->getScriptPath());
     }
     // PARSE DESTINATION
     // 1) fragment
     $a = strpos($destination, '#');
     if ($a === FALSE) {
         $fragment = '';
     } else {
         $fragment = substr($destination, $a);
         $destination = substr($destination, 0, $a);
     }
     // 2) ?query syntax
     $a = strpos($destination, '?');
     if ($a !== FALSE) {
         parse_str(substr($destination, $a + 1), $args);
         // requires disabled magic quotes
         $destination = substr($destination, 0, $a);
     }
     // 3) URL scheme
     $a = strpos($destination, '//');
     if ($a === FALSE) {
         $scheme = FALSE;
     } else {
         $scheme = substr($destination, 0, $a);
         $destination = substr($destination, $a + 2);
     }
     if ($destination == NULL) {
         // intentionally ==
         throw new InvalidLinkException("Destination must be non-empty string.");
     }
     // 5) presenter: action
     $a = strrpos($destination, ':');
     $action = (string) substr($destination, $a + 1);
     if ($destination[0] === ':') {
         // absolute
         if ($a < 2) {
             throw new InvalidLinkException("Missing presenter name in '{$destination}'.");
         }
         $presenter = substr($destination, 1, $a - 1);
     } else {
         // relative
         throw new InvalidLinkException("Destination must be absolute.");
     }
     try {
         $presenterFactory->getPresenterClass($presenter);
     } catch (InvalidPresenterException $e) {
         throw new InvalidLinkException($e->getMessage(), NULL, $e);
     }
     // ADD ACTION & SIGNAL & FLASH
     $args[Presenter::ACTION_KEY] = $action;
     $request = new Request($presenter, Request::FORWARD, $args, [], []);
     $url = $router->constructUrl($request, $refUrl);
     if ($url === NULL) {
         unset($args[Presenter::ACTION_KEY]);
         $params = urldecode(http_build_query($args, NULL, ', '));
         throw new InvalidLinkException("No route for {$presenter}:{$action}({$params})");
     }
     return $url . $fragment;
 }
开发者ID:bazo,项目名称:nette-linker,代码行数:69,代码来源:Linker.php

示例5: send

 /**
  * Send request
  *
  * @param string|null $resource Optional resource
  * @param string|null $action   Optional action
  * @param array|null  $values   Optional values
  * @param string|null $method   Optional method
  *
  * @return array
  */
 public function send($resource = null, $action = null, $values = null, $method = null)
 {
     if ($resource) {
         $this->setResource($resource);
     }
     if ($action) {
         $this->setAction($action);
     }
     if ($method) {
         $this->setMethod($method);
     }
     if ($values) {
         $this->setValues($values);
     }
     if ($this->method === self::POST || $this->method === self::PUT) {
         $content = $this->values;
         $url = new Url();
         $url->setPath($this->getResource());
         $url->setQuery(['action' => $this->getAction()]);
     } else {
         $content = [];
         $url = new Url();
         $url->setPath($this->getResource());
         $url->setQuery(array_merge(['action' => $this->getAction()], $this->getValues()));
     }
     $result = $this->adapter->query($url->getPath() . '?' . $url->getQuery(), $this->method, $content);
     if ($result->success === false) {
         throw new Exception\AdapterException(json_encode($result->messages), (string) $url);
     }
     if (!isset($result->body)) {
         throw new Exception\AdapterException('Body not provided in response!', (string) $url);
     }
     return ArrayUtils::objectToArray($result->body);
 }
开发者ID:bauer01,项目名称:unimapper-nette,代码行数:44,代码来源:CustomRequest.php


注:本文中的Nette\Http\Url::setPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。