YII 获取系统级请求参数的常用方法
1、GET/POST
1.1、获取GET/POST过来的数据
1 | Yii::app()->request->getParam( 'id' ); |
1.2、判断数据提交方式
1 | Yii::app()->request->isPostRequest |
2、session/cookie
2.1、session常用操作
$_SESSION 等价于 Yii::app()->session;
2.1.1、写入session
//启动session
$session=new CHttpSession;
$session->open();
1 | Yii::app()->session[ 'key' ] = 'value' |
2.1.2、读取session
1 | Yii::app()->session[ 'key' ] |
2.1.3、获取session的ID
1 | Yii::app()->session->sessionID |
2.1.4、销毁session
1 2 3 4 | //移去所有session变量 Yii::app()->session->clear(); //移去存储在服务器端的数据 Yii::app()->session->destroy(); |
2.1.5、session高级用法
1 2 3 | $session = Yii::app()->session; $session [ 'key' ] = 'value' ; var_dump( $session [ 'key' ]); |
2.2 cookie
2.2.1 设置cookie
1 2 3 | $cookie = new CHttpCookie(‘mycookie’,'this is my cookie’); $cookie ->expire = time()+60*60*24*30; //有限期30天 Yii::app()->request->cookies[ 'mycookie' ]= $cookie ; |
2.2.2 读取cookie
1 2 | $cookie = Yii::app()->request->getCookies(); echo $cookie [ 'mycookie' ]->value; |
2.2.3 销毁cookie
1 2 | $cookie = Yii::app()->request->getCookies(); unset( $cookie [ $name ]); |
一、YII自带的获取参数的方法:
1、Yii::app()->request->getParam($name, $defaultValue);
其中 $name :参数名; $defaultValue :默认值。
例如:Yii::app()->request->getParam('userId',0); //获取用户id,默认值为0;
2、Yii::app()->request->getParam($name);
也可以不设置默认值,直接接受传递过来的参数
3、$request = Yii::app()->getRequest();
if ($request->isPostRequest && $request->isAjaxRequest) {
$id = $request->getParam('id');
}
注意: 以上获取参数的方法并不能进行参数过滤,即不能避免恶意的参数注入
1、Yii::app()->request->getParam($name, $defaultValue);
例如:Yii::app()->request->getParam('userId',0); //获取用户id,默认值为0;
2、Yii::app()->request->getParam($name);
3、$request = Yii::app()->getRequest();
注意:
php是世界上最好的编程语言,没有之一