1. 云栖社区>
  2. PHP教程>
  3. 正文

一个样例学会tp5控制器的基本使用/tp5前置操作/tp5控制器初始化/tp5空操作/tp5跳转和重定向

作者:用户 来源:互联网 时间:2017-12-01 13:06:50

初始化控制器操作使用tp基本学会一个样前置

一个样例学会tp5控制器的基本使用/tp5前置操作/tp5控制器初始化/tp5空操作/tp5跳转和重定向 - 摘要: 本文讲的是一个样例学会tp5控制器的基本使用/tp5前置操作/tp5控制器初始化/tp5空操作/tp5跳转和重定向, tp5控制器 一个样例明白控制器的定义及使用 <?phpnamespace app/index/controller;use think/Controller;/** * Class User * @package app/inde

tp5控制器

一个样例明白控制器的定义及使用

<?phpnamespace app/index/controller;use think/Controller;/** * Class User * @package app/index/controller * @author weiyongqiang <[email protected]> * 其实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()当你访问的方法不存在时就执行

关于以上的特性大家可以在使用中得到更为深刻的认识。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索初始化 , 控制器 , 操作 , 使用 , tp , 基本 , 学会 , , 一个样 前置 ,以便于您获取更多的相关知识。