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 相关文章推荐
可定制的PHP缩略图生成程式(需要GD库支持)
Mar 06 PHP
PHP下打开URL地址的几种方法小结
May 16 PHP
hessian 在PHP中的使用介绍
Dec 13 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP通过GD库实现验证码功能示例
Feb 23 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 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
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
自己的js工具_Form 封装
2009/08/21 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
js Dom实现换肤效果
2017/10/21 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
python中数字是否为可变类型
2020/07/08 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2015年清明节活动总结
2015/02/09 职场文书
英语演讲开场白
2015/05/29 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
Docker安装MySql8并远程访问的实现
2022/07/07 Servers