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写入会话.

你可能感兴趣的:(sql,PHP,脚本,Flash,cakephp)