一个样例学会tp5控制器的基本使用/tp5前置操作/tp5控制器初始化/tp5空操作/tp5跳转和重定向
2017-07-24 22:44
615 查看
点击进入视频教程
以上样例中涉及到的知识有:
1. 控制器的定义
2. 控制器的初始化方法:_initialize()
3. 前置操作: 配置protected $beforActionList
4. 跳转和重定向:success和error重定向为redirect
5. 空操作:_empty()当你访问的方法不存在时就执行
关于以上的特性大家可以在使用中得到更为深刻的认识。
tp5控制器
一个样例明白控制器的定义及使用<?php namespace app\index\controller; use think\Controller; /** * Class User * @package app\index\controller * @author weiyongqiang <hayixia606@163.com> * 其实tp5中可以不集成Controller但是我们使用了Controller中的方法所以要集成 */ class User extends Controller { /** * @var array * 我来定义前置操作,所谓前置操作就是在我配置的操作执行之前执行我 */ protected $beforeActionList = [ 'checksession', //在任何操作执行前执行checksession方法 'islogin' => ['except'=>'login'], //在除login之外的其他方法执行前先执行islogin方法 'removesession' => ['only'=>'logout'], //在logout执行前先执行removesession ]; /** * @param $name * 如果在本控制器中找不到该操作那就运行我 */ public function _empty($name) { echo $name.'这个操作不存在'; } /** * 我是控制器初始化方法,执行此控制器的任何操作之前必须先执行我 */ public function _initialize() { Logs::write(time().'访问'.$_SERVER['PHP_SELF']); } /** * @return bool * 我是前置操作 */ public function checksession() { return empty(session('USERINFO')); } /** * @return bool * 我是前置操作 */ public function islogin() { $userInfo = session('USERINFO'); return $userInfo.expires > time(); } /** * @return bool * 我是前置操作 */ public function removesession() { return session('USERINFO', null); } /** * 用户登录操作 */ public function login() { if(用户已经登录了){ $this->redirect('Home/index', 302); //或者使用助手函数 //redirect('Home/index'); } if(用户信息没有问题){ $this->success('登录成功', 'Home/index'); }else{ $this->success('出错了请稍后再试'); } } /** * 用户退出操作 */ public function logout() { redirect('Home/index'); } }
以上样例中涉及到的知识有:
1. 控制器的定义
2. 控制器的初始化方法:_initialize()
3. 前置操作: 配置protected $beforActionList
4. 跳转和重定向:success和error重定向为redirect
5. 空操作:_empty()当你访问的方法不存在时就执行
关于以上的特性大家可以在使用中得到更为深刻的认识。
相关文章推荐
- tp5控制器的基本使用/tp5前置操作/tp5控制器初始化/tp5空操作/tp5跳转和重定向
- 新建一个登录,找回密码,注册页面的工程,使用控制器实现三个页面的跳转
- TP5 控制器Controller中URL,跳转和重定向
- C#2005 一个简单的查询界面代码:DataGridView使用、图像显示、复合查询样例
- 在ASP.NET中使用一个小技巧,把Render重定向到字符串
- 使用Easyjweb+Spring2+JPA 实现一个基本留言本的功能
- 一个获得计算机基本信息的类库使用的实例
- WINX中使用OpenCV的一个样例
- 使用MapGuide Open Source2.1 & Maestro快速搭建一个基本的WebGIS
- Silverlight Telerik控件学习:TreeView数据绑定并初始化选中状态、PanelBar的Accordion效果、TabPanel、Frame基本使用
- 用一个实例学习VBS中使用fso对象的基本方法
- static 静态变量和静态函数的使用探究 类::functionname 与 初始化一个对象的区别
- 定义一个描述“点”的类及该类的对象,并使用构造函数初始化数据成员
- Yii框架webservice 在一个控制器/动作中使用多个方法的解决方案
- 一是最简单的例子让你学会如何使用XML来做一个页面
- 用C语言编写一个包含链表的初始化、插入、删除、查找等基本操作的程序。
- WINX中使用OpenCV的一个样例
- 确定一个对象在使用前已经被初始化
- 使用MapGuide Open Source2.1 & Maestro快速搭建一个基本的WebGIS(二)
- 如何使用另外一个managed bean的属性值来初始化inputText的值?