Yii当浏览器发出请求的,首先会讲求交给控制器操作
请求组件:
$request = Yii::$app->request(); ///声明一个变量,获取请求
echo $request->get('id'); 获取get传值的id
$request->post('name',默认值)
if(request->isget){ /* 略*/} //判断是否获取了数据
响应组件:
$res = Yii::app->repose; //声明一个$res变量
$res->header->set('praga',nache) //向http协议传值中赋值
$res->header->add('location','http://www.baidu.com') //指向一个地址
$res->redirect('url')
$res->header->add('content-disposition','attachment';filename="a.jpg") //添加下载文件,名字为a.jpg
$res->sendFile(./b.jpg)
Yii2.0中Session的获取:
$session = Yii::$app->session; //获取session元素
$session->open(); //开启session
session->set('user',张三) //设置session并向其中的user字段中赋值
$session->get('user') //获取user
if($sersion->isActive) //判断是是否为空/存在
{
echo session is active
}
session作为数组来操作
$session[user] = "张三";
cookies的处理:
Yii::$app->response->cookies; //获取cookies元素
$cookies_data = array('array'=>'user','value'=>'张三') //赋值
$cookies->add(new cookie($cookies_data)); //添加
$cookies->remove('id');// 删除字段
视图数据的安全常用Yii2.0类:
Yii\helpers\HTML
yii\helpers\HTMLpurifile
XXX数据块:
this->beginBlock('block1')
$this->blocks['block1'];
Model主要是对数据库的操作体现了DAO的数据访问对象模式,所有的model都继承自ActiveRecord。
常用批量查询
foreach(test::find()->batch(2)as $test)
{
print_f(cout($test));
$result =test::find()->where([条件])->all();
$result->delete();
$test =new test();
$test->id =3;
$test->title ='title';
test->valiures;
$test ->save();
rules方法:定义指定字段规则,对信息过滤判断字段是否符合规则
//例子:
public function rules(){
return[
['id','title']
['title','string','length'=>[0,5]]
];}