🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
1控制器初始化 2前置操作 3页面跳转 4重定向 5空操作 6空方法 7获取请求类 8变量过滤 #### 1.控制器初始化 1)必须继承think\Controller; 2)例: public function _initialize(){ echo "我是初始化方法"; } #### 2.前置操作 1)前置方法,把一些公共的设置提取成方法进行调用 2)前置操作必须继承think\Controller; 3)例: protected $beforeActionList=[ //新建one,two,three3个方法 'one', //two方法不让index使用 'two' => ['except' => 'index'], //three方法只让index方法使用 'three' => ['only' => 'index'], ]; public function one(){ echo "one方法"; } public function two(){ echo "two方法"; } public function three(){ echo "three方法"; } #### 3.页面跳转 1)继承think\Controller; 2)$this->success(提示信息,跳转地址,用户自定义数据,跳转时间,header信息); 例:$this->success('登录成功!',url('index/index')); $this->error('登录失败!'); 3)修改提示页面(模板) thinkphp\tpl\dispatch_jump.php目录 ![](https://box.kancloud.cn/52f3d4f92ed9baa315da5a47d71511a1_1229x632.png) 详细视频地址https://ke.qq.com/webcourse/index.html#taid=1556788206081853&vid=s1420qvucec&course_id=235325&term_id=100277509 #### 4.重定向 1)引入think\Controller; 2)redirect('跳转地址','其他参数',code,'隐式参数); 3)例: $this->redirect('index/index',['id'=>100,'name'=>'abc']); #### 5.空操作 1)作用:解决一些恶意地址栏输入 2)例: public function _empty(){ $this->redirect('index/index'); } #### 6.空控制器 ![](https://box.kancloud.cn/b4a6311aa7d64171e6f1fe5ce1a034d8_863x602.png) ## 注意:网站上线的时候前后台都要有空控制器,每个控制器都要有空操作 #### 7.获取请求类 1)方法一:系统函数 $request = request(); 2)方法二: use think\Request; //因为Request类属于单例模式,所以不能直接使用new $request = Request::instance(); 3)方法三:系统Request类 use think\Request; public function index(Request $request){ dump($request); } ![](https://box.kancloud.cn/dc93273b66132c0473b48ef1ee2f4eb4_758x343.png) #### 8.变量过滤 //防止恶意输入,sql注入 1)全部的数据进行过滤 //单个方法过滤 $request->filter("htmlspecialchars"); //多个方法过滤 $request->filter(["htmlspecialchars","strip_tags"]); 2)针对变量过滤 $request->get('name','','htmlspecialchars'); //先过滤,后加密 $request->get('name','','htmlspecialchars,md5'); ![](https://box.kancloud.cn/27805ba11684dfada0631eafc3a474be_825x327.png) 修饰变量的类型 s 字符串 d 整型 f 浮点型 a 数组 b 布尔型