📅  最后修改于: 2020-10-25 04:28:47             🧑  作者: Mango
Cookie提供客户端数据存储,并且仅支持少量数据。通常,每个域2KB,具体取决于浏览器。会话提供服务器端数据存储,并且支持大量数据。让我们来看一下如何在FuelPHP Web应用程序中创建cookie和会话。
FuelPHP提供了一个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提供了类,会话来维护应用程序的状态。
可以通过特殊的配置文件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::instance(); // default instance
$session = Session::instance('myseesion'); // specific instance
set方法用于分配Session变量。
Session::set('userid', $userid);
get方法允许您从会话中检索存储的变量。
$userid = Session::get('userid');
delete方法允许您删除存储的会话变量。
Session::delete('userid');
create方法允许您创建一个新的会话。如果会话已经存在,它将被销毁并创建一个新会话。
Session::create();
destroy方法用于销毁现有会话。
Session::destroy();
read方法允许您读取会话。
Session::read();
write方法允许您编写会话。
Session::write();
key方法允许您检索会话密钥的元素。密钥的值是唯一的。
$session_id = Session::key('session_id');