<?php
namespace app\index\controller;
use think\Controller;
use think\Session;
class Base extends Controller{
protected function _initialize(){
parent::_initialize(); //继承父类中的初始化操作
define('USER_ID',Session::get('user_id'));
}
//判断用户是否登录,放在后台的入口:Index/index
protected function isLogin(){
if(is_null(USER_ID)){
$this->error('用户未登录,无权访问',url('User/login'));
}
}
//防止用户重复登录 放在后台的入口:User/login
protected function alreadyLogin(){
if(!is_null(USER_ID)){
$this->error('用户已经登录,请勿重复登录');
}
}
}
第一: _initialize()不是php类中的构造函数,php类的构造函数只有__construct().
其中_initialize()属于继承父类中的初始化操作
第二:is_null()如果变量USER_ID 是一下三种情况返回true,其他情况则返回false
1、它被赋值为NULL
2、它还没有赋值
3、它未定义,相当于unset(),将一个变量unset()后,是没有定义
此处一定要和empty()区别开来;如果变量USER_ID 是""、0、"0"、NULL、FALSE、array()、则返回false,反之返回true