YIi2基础篇

Posted 2020-02-28updated 2020-02-28Words 471Reading time 3m

cookle和session使用简介

在这里说的只是yii的cookie和session的使用方法,在了解其原理的可以在小编的另一篇文章 PHP会话控制 了解原理和基础

session使用方法

1
2
3
4
5
6
$session = yii::$app->session; //使用session  
$session->open(); //开启session
$session->isActive; //测试session是否开启
$session['user] = '张三'; //获取session,$session[’name‘]=key;
echo $session['user]; //调用session
unset($session['user]); //删除session

cookle

1
2
3
4
5
6
$cookle = Yii::$app->response->cookies;     //实例化cookle对象
$cookle_data = array('name' => 'user', 'value' => 'zhangsi');
$cookle->add(new \yii\web\Cookie($cookle_data)); //添加cookle值
$cookle->remove('user'); //删除cookle值
$cookles = Yii::$app->request->cookies; //实例化cookle对象
echo $cookles->getValue('user'); //取值

View视图组件

数据映射

yii显示view页面,view文件下必须要有跟controller名一致的文件夹名字,才能正常显示,不然会抛出异常

view页面获取参数流程

1
2
3
4
5
6
7
8
9
//1. 传递的值必须是一个数组
$test_arr = [0,1];
//2. 把值传入数组中
$data[] = $test_arr;
//3. 返回视图层
return $this->reader('index',$test_arr);

//view调用
<?= $test_arr[0]; ?>

yii数据安全

view视图层下调用HTML::encode 将攻击代码转为字符串
view视图层下调用HTMLpurifier::process 过滤页面代码

片段缓存

片段缓存介绍

1
2
3
4
5
6
7
8
9
10
//在view视图中
if($this->>beginCache('cache_div'))
<div id="cache_div">
<div>这里面的将会被缓存</div>
</div>
$this->>endCache();

<div id="no_cache_div">
<div>这里面的将不会被缓存</div>
</div>

片段缓存介设置

1
2
3
4
// 缓存时间
$duration = 15
//缓存开关
$endbled = true

片段缓存介绍

//在beginCache第二个参数设置缓存时间,缓存时间过后会继续缓存Cache下的beginCache缓存片段
if($this->>beginCache('cache_div', ['$duration = 15']))

HTTP缓存

HTTP缓存简介

http缓存介绍

HTTP缓存设置

http缓存设置

HTTP缓存之缓存时机

http缓存之缓存时机