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');