本文整理汇总了PHP中yii\web\Request::setQueryParams方法的典型用法代码示例。如果您正苦于以下问题:PHP Request::setQueryParams方法的具体用法?PHP Request::setQueryParams怎么用?PHP Request::setQueryParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\web\Request
的用法示例。
在下文中一共展示了Request::setQueryParams方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseRequest
/**
* Parses the URL and sets the language accordingly
* @param \yii\web\Request $request
* @return array|bool
*/
public function parseRequest($request)
{
if ($this->enablePrettyUrl) {
$pathInfo = $request->getPathInfo();
$language = explode('/', $pathInfo)[0];
$locale = ArrayHelper::getValue($this->aliases, $language, $language);
if (in_array($language, $this->languages)) {
$request->setPathInfo(substr_replace($pathInfo, '', 0, strlen($language) + 1));
Yii::$app->language = $locale;
static::$currentLanguage = $language;
}
} else {
$params = $request->getQueryParams();
$route = isset($params[$this->routeParam]) ? $params[$this->routeParam] : '';
if (is_array($route)) {
$route = '';
}
$language = explode('/', $route)[0];
$locale = ArrayHelper::getValue($this->aliases, $language, $language);
if (in_array($language, $this->languages)) {
$route = substr_replace($route, '', 0, strlen($language) + 1);
$params[$this->routeParam] = $route;
$request->setQueryParams($params);
Yii::$app->language = $locale;
static::$currentLanguage = $language;
}
}
return parent::parseRequest($request);
}
示例2: testResolve
public function testResolve()
{
$this->mockWebApplication([
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'cache' => null,
'rules' => [
'posts' => 'post/list',
'post/<id>' => 'post/view',
],
]
]
]);
$request = new Request();
$request->pathInfo = 'posts';
$_GET['page'] = 1;
$result = $request->resolve();
$this->assertEquals(['post/list', ['page' => 1]], $result);
$this->assertEquals($_GET, ['page' => 1]);
$request->setQueryParams(['page' => 5]);
$result = $request->resolve();
$this->assertEquals(['post/list', ['page' => 5]], $result);
$this->assertEquals($_GET, ['page' => 1]);
$request->setQueryParams(['custom-page' => 5]);
$result = $request->resolve();
$this->assertEquals(['post/list', ['custom-page' => 5]], $result);
$this->assertEquals($_GET, ['page' => 1]);
unset($_GET['page']);
$request = new Request();
$request->pathInfo = 'post/21';
$this->assertEquals($_GET, []);
$result = $request->resolve();
$this->assertEquals(['post/view', ['id' => 21]], $result);
$this->assertEquals($_GET, ['id' => 21]);
$_GET['id'] = 42;
$result = $request->resolve();
$this->assertEquals(['post/view', ['id' => 21]], $result);
$this->assertEquals($_GET, ['id' => 21]);
$_GET['id'] = 63;
$request->setQueryParams(['token' => 'secret']);
$result = $request->resolve();
$this->assertEquals(['post/view', ['id' => 21, 'token' => 'secret']], $result);
$this->assertEquals($_GET, ['id' => 63]);
}