首页 > 技术文章 > Yii2 获取URL的一些方法

fpcing 2019-07-15 11:49 原文

1. 获取url中的host信息:

例如:http://www.nongxiange.com/product/2.html

Yii::$app->request->getHostInfo();

结果:http://www.nongxiange.com

 

2. 获取url中的路径信息(不包含host和参数):

例如:http://www.nongxiange.com/product/2.html?isnew=1

Yii::$app->request->getPathInfo()

 

结果:product/2.html

 

3. 获取不包含host信息的url(含参数):
例如:http://www.nongxiange.com/product/2.html?isnew=1

Yii::$app->request->url

结果:product/2.html?isnew=1

 

4. 获取完整url(含host以及参数):

例如:http://www.nongxiange.com/product/2.html?isnew=1

Yii::$app->request->getHostInfo().Yii::$app->request->url;

结果:http://www.nongxiange.com/product/2.html?isnew=1

5.只想获取url中的参数部分:
例如:http://www.nongxiange.com/product/2.html?isnew=1

Yii::$app->request->queryString

 结果:isnew=1

6.获取某个参数的值,比如id
例如:http://www.nongxiange.com/user?id=12345

Yii::$app->request->getQueryParam('id')

结果:12345

 

Yii2 获取模块名、控制器名、方法名 在视图中:

模块名  $this->context->module->id
控制器名 $this->context->id
方法名 $this->context->action->id

在控制器中

 模块名   Yii::$app->controller->module->id;
 控制器名   Yii::$app->controller->id
 方法名  Yii::$app->controller->action->id; 

模块名 $this->module->id;
控制器名 $this->id;
 方法名  $this->action->id;

在控制器的 beforeAction 方法中(方法接收$action参数)

模块名  $action->controller->module->id;
控制器名 $action->controller->id;
方法名  $action->id;

推荐阅读