tp框架之session
系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成,该函数可以完成Session的设置、获取、删除和管理操作。
session初始化设置
如果session方法的第一个参数传入数组则表示进行session初始化设置,例如:
session(array('name'=>'session_id','expire'=>3600));
支持传入的session参数包括:
| 参数名 | 说明 |
|---|---|
| id | session_id值 |
| name | session_name 值 |
| path | session_save_path 值 |
| prefix | session 本地化空间前缀 |
| expire | session.gc_maxlifetime 设置值 |
| domain | session.cookie_domain 设置值 |
| use_cookies | session.use_cookies 设置值 |
| use_trans_sid | session.use_trans_sid 设置值 |
| type | session处理类型,支持驱动扩展 |
Session初始化设置方法无需手动调用,在Think\App类的初始化工作结束后会自动调用,通常项目只需要配置SESSION_OPTIONS参数即可,SESSION_OPTIONS参数的设置是一个数组,支持的索引名和前面的session初始化参数相同。
默认情况下,初始化之后系统会自动启动session,如果不希望系统自动启动session的话,可以设置SESSION_AUTO_START为false,例如:
'SESSION_AUTO_START' =>false
关闭自动启动后可以项目的公共文件或者在控制器中通过手动调用session_start或者session('[start]')启动session。
session赋值
Session赋值比较简单,直接使用:
session('name','value'); //设置session
session取值
Session取值使用:
$value = session('name');// 获取所有的session 3.2.2版本新增$value = session();
session删除
删除某个session的值使用:
session('name',null); // 删除name
要删除所有的session,可以使用:
session(null); // 清空当前的session
session判断
要判断一个session值是否已经设置,可以使用
// 判断名称为name的session值是否已经设置session('?name');
session管理
session方法支持一些简单的session管理操作,用法如下:
session('[操作名]');
支持的操作名包括:
| 操作名 | 含义 |
|---|---|
| start | 启动session |
| pause | 暂停session写入 |
| destroy | 销毁session |
| regenerate | 重新生成session id |
使用示例如下:
session('[pause]'); // 暂停session写入session('[start]'); // 启动sessionsession('[destroy]'); // 销毁sessionsession('[regenerate]'); // 重新生成session id
本地化支持
如果在初始化session设置的时候传入prefix参数或者单独设置了SESSION_PREFIX参数的话,就可以启用本地化session管理支持。启动本地化session后,所有的赋值、取值、删除以及判断操作都会自动支持本地化session。
本地化session支持开启后,生成的session数据格式由原来的 $_SESSION['name'] 变成 $_SESSION['前缀']['name']。
session handler支持
初始化session设置的时候如果传入了type参数或者设置了SESSION_TYPE参数的话,则会自动引入对应的Session处理驱动,驱动目录位于Library/Think/Session/Driver目录下面(详见扩展部分)。
tp框架之session的更多相关文章
- TP框架中session操作
TP中session操作 查看代码,OMG! 不应该是这样的
- TP框架 基础1
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...
- TP框架---thinkphp基础知识
php框架 发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困 ...
- TP框架中如何使用SESSION限制登录?
TP框架中如何使用SESSION限制登录? 之前总是被问题今天才明白,最高效的来做页面访问限制问题. OOP思想中的继承特性,实现验证,是否已经登录,不必每个页面都进行判断. 实现如下: 继承Cont ...
- tp框架的增删改查
首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...
- 第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式
外部文件引入到视图模板的方式 1,将外部文件放在Public文件夹下,用load标签引入 2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题) <load h ...
- thinkphp框架中session常识
在看别人代码时候,发现他,在tp框架中使用session没有些session_start();然后我去查看了手册初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置 ...
- ThinkPhp框架:有条件的数据库查询、tp框架的其他知识
上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这 ...
- tp框架之对列表的一系列操作及跳转页面(详细步骤)
依旧是在Main控制器里面写类方法,如果想看tp全部的话,可以从前几篇开始看,都是一整个步骤下来的 在控制器中重新写个类 然后再做个shouye.html页面 nation表的数据,将会在shou.h ...
随机推荐
- python安装、模块安装
python安装 windows 下载安装包 https://www.python.org/downloads 改环境变量 [右键计算机]-->[属性]-->[高级系统设置]-->[ ...
- ios相同版本升级
公司新发布ios,因为各种错误以及审核不通过造成app未能上传,而app在提交的时候不能上传相同的版本号,造成app还没有正式的上传上传已经将版本号升级到1.0.6 解决方法: 在Xcode上,查看项 ...
- 引用js或css后加?v= 版本号的用法
<span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version ...
- vue-router2使用
条件:紧接前面vue.js开发环境搭建 1.在cmd输入:npm install vue-router,回车,等待,安装对应版本router: 2.在入口文件用 import vueRouter fr ...
- bootstrap学习笔记--bootstrap布局方式
Bootstrap 3 是移动设备优先的,在这个意义上,Bootstrap 代码从小屏幕设备(比如移动设备.平板电脑)开始,然后扩展到大屏幕设备(比如笔记本电脑.台式电脑)上的组件和网格. 移动设备优 ...
- webapi8
- 开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux
开发thinkphp的时候, 总是会出现各种个样 的奇怪的毛病, 比如: 说什么Application目录不可写, 比如: 说什么 _STORAGE_WRITE_ERROR, 不能生成 Runtime ...
- 利用FileSystemWatcher实现磁盘文件监控
马上放假了,好开森啊O(∩_∩)O哈哈~ ——————————————————————————————————————————————————————— 昨天逛园子,发现了一个FileSystemWa ...
- 基于Lease分布式系统重试服务选举
/** * Copyright (c) 2015, www.cubbery.com. All rights reserved. */ package com.cubbery.event.retry; ...
- linux防火墙开启端口
1.使用命令查看端口开启情况(下图为安装时未选择开启防火墙) [root@fullstack ~]# iptables -L -n Chain INPUT (policy ACCEPT) target ...