1.Yii静态结构:
入口脚本
|
应用主体-应用组件
模块---- |
控制器(C)-过滤器
|
视图(V)------模型(M)
|
小部件-----前端资源包
2.命名空间:
(1)namespace 命名空间名称;
(2)use 命名空间名称; 通过use定义常用命名空间方便实例化
(3)use 命名空间名称 as 别名; 区别两个命名空间
(4)实例化时通过反斜杠\实例化顶层类
3.控制器:
(1)创建控制器:
namespace app\controllers;
use yii\web\Controller;
class 控制器名 extends Controller{
public function 方法名称{
程序处理
}
}
(2)控制器请求处理:
变量名称 = YII::$app->request;
变量名称->get('变量',默认值); //判断如果没有值,默认值
变量名称->post('变量',默认值); //判断如果没有值,默认值
isGet/isPost //判断传递方式
userIp //本地服务器IP
(3)控制器响应处理:
变量名称 = \YII::$app->response;
变量名称->headers->add('名称',值); //添加响应头部
变量名称->headers->set('名称',值); //修改响应头部
变量名称->headers->remove('名称',值); //删除响应头部
变量名称->headers->add('location',地址); //跳转
继承控制器($this)->redirect('地址',返回状态码); //跳转
变量名称->headers->add('头部名称','attachment;filename="文件名称"'); //指定下载文件,文件名
变量名称->sendFile('本地地址及名称'); //文件下载
(4)控制器session处理:
变量名称 = \YII::$app->session;
isActive //判断session是否开启
变量名称->open(); //开启session
变量名称->set('名称',值); //存放session(对象)
变量名称->get('名称'); //取出session(对象)
变量名称->remove('名称'); //删除session(对象)
变量名称['名称']=值; //存放session(数组)
echo 变量名称['名称']; //取出session(数组)
unset(变量名称['名称']); //删除session(数组)
(5)控制器cookie处理:
存放与添加:
变量名称 = \YII::$app->response->cookies;
数组 = array('name'=>'值','value'=>'值');
变量名称->add(new Cookie(数组)); //添加cookie
变量名称->remove('名称'); //删除cookie
取出:
变量名称 = \YII::$app->request->cookies;
echo 变量名称->getValue('名称');
4.视图
(1)视图创建:
basic/views/文件名
namespace app\controllers;
use yii\web\Controller;
use yii\web\Cookie;
class 控制器名 extends Controller{
public function 方法名称{
return $this->renderPartial('文件名');
}
}