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


PHP Http::encodeQueryFragment方法代码示例

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


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

示例1: __invoke

 public function __invoke($routeName, $params = [], $excludedParams = [])
 {
     /** @var \Zend\View\HelperPluginManager $helperManager */
     $helperManager = $this->serviceLocator;
     /** @var \Zend\ServiceManager\ServiceManager $locator */
     $locator = $helperManager->getServiceLocator();
     /** @var \Zend\Mvc\Router\SimpleRouteStack $router */
     $router = $locator->get('Router');
     $assembledParams = [];
     if ($router->hasRoute($routeName)) {
         /** @var \Zend\Mvc\Router\Http\RouteInterface $route */
         $route = $router->getRoute($routeName);
         $assembledParams = $route->getAssembledParams();
     }
     /** @var \Zend\Http\PhpEnvironment\Request $request */
     $request = $locator->get('request');
     $uri = clone $request->getUri();
     $query = [];
     foreach (array_merge($uri->getQueryAsArray(), $params) as $key => $value) {
         if ($value != '') {
             $query[$key] = $value;
         }
     }
     $uri->setQuery($query);
     /** @var \Zend\View\Helper\Url $urlViewHelper */
     $urlViewHelper = $this->view->plugin('url');
     $return = $urlViewHelper->__invoke($routeName, $query);
     $query = $uri->getQueryAsArray();
     foreach ($uri->getQueryAsArray() as $key => $value) {
         if (in_array($key, $assembledParams) || in_array($key, $excludedParams)) {
             unset($query[$key]);
         }
     }
     $uri->setQuery($query);
     return count($query) == 0 ? $return : $return . '?' . Http::encodeQueryFragment($uri->getQuery());
 }
开发者ID:hoangpt,项目名称:nextcms,代码行数:36,代码来源:UrlBuilder.php


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