CakePHP框架Session设置方法分析


Posted in PHP onFebruary 23, 2017

本文实例讲述了CakePHP框架Session设置方法。分享给大家供大家参考,具体如下:

CakePHP Session 存储选项

CakePHP提供给用户了3种Session数据保存方式:

1. CakePHP安装目下的临时文件;
2. 采用PHP的默认机制;
3. 或者序列化到数据库中.

对应的设置在core.php中分别为:

define('CAKE_SESSION_SAVE', 'php');
# 设置为 'cake',保存session到 /cakedistro/tmp目录
# 设置为 'php',采用PHP的缺省路径
# 设置为 'database',

默认采用PHP的机制.

如果选择在数据库中存储,需要在数据库中建立一张表,在/app/config/sql/sessions.sql有创建数据库的sql脚本.

无论选择哪种Session存储方式,CakePHP的组件方法操作基本一致:

CakePHP Session Component用来与Session进行交互:包括基本的Session读写,通过Session来提示错误、发出提示消息等等.

Session Component在所有 Cake controller 中默认可用.

check(string $name);

检查Session中是否已有$name为键值的数据项.

del(string $name);
delete(string $name);

删除$name 指定的 Session 变量。

error

返回最近由 Cake Session Component 产生的错误,常用于调试。

flash(string $key='flash');

返回最后一条Session中用 setFlash() 设置的消息。如果 $key 已设置,将返回最近存储于其中的消息.

read(string $name);

返回 $name 变量值。

renew

通过创建新的seesion ID,删除原有的ID,将原有Session中信息更新到新的Session中。

setFlash(string $flashMessage, string $layout='default', array $params, string $key='flash');

将$flashMessage 中的信息写入Session(供之后的flash()方法来获取)。

如果 $leyout 设置为 “default”,该消息被存储为 '<div class="message">'.$flashMessage.'</div>'。如果$layout 设置为 '',该消息将按原样保存。如果 $layout 为其他值,该消息以 $layout 所指定的格式保存在 Cake view里。

$params 参数会在未来版本中赋予功能。

$key 允许在键下存储提示消息,flash() 是基于键来读取消息的。

valid当Session有效时返回true,最好在read()操作前用它来确定你要访问的会话是否确实有效.

write(string $name, mixed $value);

将变量 $name,$value写入会话.

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
PHP中的替代语法介绍
Jan 09 PHP
使用PHP生成图片的缩略图的方法
Aug 18 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
关于PHP中interface的用处详解
Jul 26 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 #PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 #PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 #PHP
利用php生成验证码
Feb 23 #PHP
php实现base64图片上传方式实例代码
Feb 22 #PHP
php中实现字符串翻转的方法
Feb 22 #PHP
php生成图片缩略图功能示例
Feb 22 #PHP
You might like
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
Python实现的彩票机选器实例
2015/06/17 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
Python使用functools实现注解同步方法
2018/02/06 Python
python素数筛选法浅析
2018/03/19 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
Python实现的NN神经网络算法完整示例
2018/06/19 Python
Python OpenCV实现视频分帧
2019/06/01 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
成人教育自我鉴定
2013/11/01 职场文书
旅游专业职业生涯规划范文
2014/01/13 职场文书
安全生产目标责任书
2014/04/14 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
2014年实习期工作总结
2014/11/27 职场文书