- FuelPHP 教程
- FuelPHP - 主页
- FuelPHP - 简介
- FuelPHP - 安装
- FuelPHP - 架构概述
- FuelPHP - 简单的 Web 应用程序
- FuelPHP - 配置
- FuelPHP - 控制器
- FuelPHP - 路由
- FuelPHP - 请求与响应
- FuelPHP - 视图
- FuelPHP - 演讲者
- FuelPHP - 模型和数据库
- FuelPHP - 表单编程
- FuelPHP - 验证
- 高级形式编程
- FuelPHP - 文件上传
- FuelPHP-Ajax
- FuelPHP - HMVC 请求
- FuelPHP - 主题
- FuelPHP - 模块
- FuelPHP - 包
- Cookie 和会话管理
- FuelPHP - 活动
- FuelPHP - 电子邮件管理
- FuelPHP - 分析器
- 错误处理和调试
- FuelPHP - 单元测试
- 完整的工作示例
- FuelPHP 有用资源
- FuelPHP - 快速指南
- FuelPHP - 有用的资源
- FuelPHP - 讨论
FuelPHP - Cookie 和会话管理
Cookie提供客户端数据存储,仅支持少量数据。通常,每个域为 2KB,具体取决于浏览器。Session提供服务器端数据存储,支持海量数据。让我们看看如何在 FuelPHP Web 应用程序中创建 cookie 和会话。
cookie
FuelPHP 提供了Cookie类来创建 cookie 项。Cookie 类用于创建、分配和删除 cookie。
配置 Cookie
Cookie 类可以通过主应用程序配置文件(位于fuel/app/config/config.php)进行全局配置。它的定义如下。
'cookie' => array ( //Number of seconds before the cookie expires 'expiration' => 0, //Restrict the path that the cookie is available to 'path' => '/', //Restrict the domain that the cookie is available to 'domain' => null, // Only transmit cookies over secure connections 'secure' => false, // Only transmit cookies over HTTP, disabling Javascript access 'http_only' => false, ),
方法
Cookie 类提供了创建、访问和删除 Cookie 项的方法。它们如下 -
放()
set 方法用于创建 Cookie 变量。它包含以下参数,
$name - $_COOKIE 数组中的键。
$value - cookie 的值。
$expiration - cookie 应持续的秒数。
$path - cookie 可用的服务器上的路径。
$domain - cookie 可用的域。
$secure - 如果您只想通过安全连接传输 cookie,则设置为 true。
$httponly - 只允许通过 HTTP 传输 cookie,禁用 JavaScript 访问。
Cookie::set('theme', 'green');
得到()
get方法用于读取Cookie变量。它包含以下参数,
$name - $_COOKIE 数组中的键。
$value - 如果键在 $_COOKIE 数组中不可用,则返回值。
Cookie::get('theme');
删除()
delete方法用于删除Cookie变量。它包含以下参数,
$name - $_COOKIE 数组中的键。
$value - cookie 的值。
$domain - cookie 可用的域。
$secure - 如果您只想通过安全连接传输 cookie,则设置为 true。
$httponly - 只允许通过 HTTP 传输 cookie,禁用 JavaScript 访问。
Cookie::delete('theme');
会议
FuelPHP 提供了类、Session来维护应用程序的状态。
配置会话
会话类可以通过特殊的配置文件fuel/core/config/session.php进行配置。一些重要的配置条目如下 -
auto_initialize - 自动初始化会话。
driver - 会话驱动程序的名称。会话是使用驱动程序实现的,可能的选项有 cookie、db、memcached、redis 和 file。默认驱动程序是cookie。
match_ip - 检查客户端IP。
match_ua - 检查客户端用户代理。
expiration_time - 会话超时值(以秒为单位)。
rotation_time - 更新会话的时间。
会话方法
Session 类提供了操作会话数据的方法。它们如下:
实例()
实例方法返回一个默认的或特定的实例,该实例由名称标识。
$session = Session::instance(); // default instance $session = Session::instance('myseesion'); // specific instance
放()
set方法用于分配 Session 变量。
Session::set('userid', $userid);
得到()
get方法允许您从会话中检索存储的变量。
$userid = Session::get('userid');
删除()
删除方法允许您删除存储的会话变量。
Session::delete('userid');
创造()
create方法允许您创建一个新会话。如果会话已经存在,它将被销毁并创建一个新会话。
Session::create();
破坏()
destroy方法用于销毁现有会话。
Session::destroy();
读()
read方法允许您读取会话。
Session::read();
写()
write方法允许您写入会话。
Session::write();
钥匙()
key方法允许您检索会话密钥的元素。密钥的值是唯一的。
$session_id = Session::key('session_id');