美文网首页
ThinkPHP-Session与Cookie

ThinkPHP-Session与Cookie

作者: 慢慢来111 | 来源:发表于2017-03-08 18:13 被阅读132次

    1、Session

    系统提供了Sesssion管理和操作的完善支持,只需要通过session()函数完成,改函数可以完成Session的设置、获取、删除和管理操作
    一般来说,在ThinkPHP中不需要手动初始化session,系统会自动初始化
    id     session_id值
    name  session_name值
    path   session_save_path值
    prefix    session  本地化空间前缀
    expire    session.gc_maxlifetime设置值
    domain   session.cookie_domain设置值
    user_cookies    session.user_cookes设置值
    user_trans_sid    session.use_sid 设置值
    type    session 处理类型,支持驱动扩展
    
    //手工初始化
    session(array('name'=>'session_id' , 'expire'=>3600));
    
    //配置SESSION初始化
    SESSION_OPTIONS=>array(
          'name'=>'session_id'
          'expire'=>3600
    )
    默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以如下设置
    
    //设置系统不启用session
    ‘SESSION_AUTO_START’=>false
    
    //session赋值
    session('user' , 'Mr.Lee');  //$_SESSION['user'] = 'Mr.Lee';
    
    //获取session值
    echo session('user');     //echo  $_SESSION['user'];
    
    //session删除
    session('user' , null);   //unset($_SESSION['USER']);
    
    //删除所有session
    session(null)   //$_SESSION=array();
    
    //判断session是否存在
    echo session(' ?user')   //isset($_SESSION['user']);
    
    //暂停session  写入关闭
    session('[pause]');   //session_write_close()
    
    //启动session  可开启写入
    session('[start]');     //session_start();
    
    //销毁session
    session('[destroy]');   //session_destroy();
    
    //重新生成session_id
    session('[regenerate]');   //session_regenerate_id();
    
    PS:如果在初始化session设置的时候传如prefix参数或者单独设置了SESSION_PREFIX参数的话,就可以启用本地化session管理支持
    //SESSION前缀
    ‘SESSION_PREFIX’=>'think_'
    
    这是处理的$_SESSION['user']将变成$_SESSION['thing_']['user'],而我们在处理上没任何区别
    

    2、Cookie

    ThinkPHP内置了一个cookie函数用于支持和简化Cookie的相关操作,该函数可以完成Cookie的设置、获取、删除操作
    //cookie赋值
    cookie('user' , 'Mr.Lee');    //setcookie('user' , 'Mr.Lee');
    
    //cookie取值
    echo  cookie('user');    //echo  $_COOKIE['user'];
    
    //cookie赋值,设置过期时间
    cookie('user' , 'Mr.Lee' , 3600);
    
    //cook赋值,第三参数数组设置时间过期和前缀
    cookie('user' , 'Lee' , array('expire' => 3600 , 'prefix' => 'think_'));
    
    //cookie赋值、数组
    cookie('user' , array('Mr.' , 'Lee'));
    
    //cookie删除user
    cookie('user' , null);
    
    //cookie删除所有
    coolie(null);
    
    //cookie删除指定前缀的所有
    cookie(null , 'think_');
    

    相关文章

      网友评论

          本文标题:ThinkPHP-Session与Cookie

          本文链接:https://www.haomeiwen.com/subject/yltigttx.html