yii框架学习(五)get、post请求如何接收请求参数

1,088 阅读1分钟

get请求接收参数

修改之前的actionIndex请求,在括号中添加$name参数既可以使用

public function actionIndex($name){
    echo 'Hello World'.$name;
}

或者使用全局YII框架下的request类获取参数

public function actionIndex(){
    $request = \YII::$app->request;
    echo 'Hello World'.$request->get("name");
}

测试连接http://localhost:8888/index.php?r=hello/index&name=123 效果如下

当我们想给$name设置一个默认值的时候,可以这么写

public function actionIndex($name = 'yes me too'){
    echo 'Hello World'.$name;
}

使用request类的写法如下:

public function actionIndex(){
    $request = \YII::$app->request;
    echo 'Hello World'.$request->get("name","123");;
}

这样即使请求未传入$name值也可以照样输出如下,请求连接http://localhost:8888/index.php?r=hello/index,效果如下

post请求获取参数

post参数获取代码如下

public function actionIndex(){
    $request = \YII::$app->request;
    echo 'Hello World'.$request->post("name","123");;
}

很简单,只要将get改为post即可,默认参数也一样

判断请求是get还是post

当请求判断是不是get请求时,只要使用isGet方法即可,

if ($request->isGet) {
    echo 'get请求';
}

同理,isPost即可判断是否为post请求。

获取用户信息

$request类还提供了一些获取用户信息的方法,比如:

  • $request->userIp 获取用户IP地址