yii2.0基础笔记

  • 时间:
  • 浏览:18

yii2.0学习笔记,比较乱,凑合的看一下。


1.接收参数

$request = \yii::$app->request;

$request->get('a','defVal')  接收一个get请求的参数

$request->post('a','defVal')  接收一个post请求的参数

$request->isGet  判断是否是get请求。

$request->userIp 获取访问者的ip


2.头部响应

$resp = \YII::$app->response; 

$resp->statusCode = 404; 

$resp->headers->add('pragma', 'no-cache'); 

$resp->headers->set('pragma', 'max-age=5'); 

$resp->headers->remove('pragma'); 

$resp->headers->add('Location','http://www.baidu.com'); 

$this->redirect('http://www.baidu.com', 302); 

文件下载相关 

$resp->headers->add('content-...','attachment...'); 

$resp->sendFile('./index.PHP');


3.session组件

$ses = \YII::$app->session;

$ses->open(); //开启session

var_dump($ses->isActive); //查看sesson是否开启

$ses->set('name', 'reson'); //设置一个session

$ses['name'] = 'reson'; //设置一个session也可以用这种方式

echo $ses->get('name'); //获取session

echo $ses['name']; //获取session也可以用这种方式

$ses->remove('name'); //删除session

unset($ses['name']); //删除session也可以用这种方式


4.cookie

$cook = \YII::$app->response->cookies;

$cookData = array('name'=>'name', 'value'=>'reson1');

$cook->add(new Cookie($cookData)); //添加cookie,修改跟添加一样,只需改一下$cookData中的信息重新add就可以了

$cook->remove('name'); //删除cookie

$cookGet = \YII::$app->request->cookies;

echo $cookGet->getValue('name1','defVal'); //获取cookie中的值,如果不存在,返回第二个参数中的默认值

cookie加密:config/web.php 中的 cookieValidationKey


5.渲染模版

return $this->renderPartial() 和 return $this->render()

render('index',array('kk'=>'test.php')) ?> //模版中引入其他模版


blocks['block1']?>

beginBlock('block1'); ?>

覆盖掉全局模版中的指定区域

endBlock(); ?>