目录
当前位置: 首页 > 文档资料 > FuelPHP 中文文档 >

Cookie - 类別

优质
小牛编辑
119浏览
2023-12-01

Cookie 类别能让你取得、设定及删除 cookies。

配置

Cookie 类别透过全域应用程序配置档案 app/config/config.php 进行配置。它定义一个称为 'cookie' 的段落,在其中以下设定被定义:

变数类型预设描述
expiration整数
0
在 cookie 到期前的秒数。当你呼叫 set() 方法,而 $expiration 没有被指定时,这个值将被使用。
path字串
'/'
限制 cookie 可用的路径。当你呼叫 set() 方法,而 $path 没有被指定时,这个值将被使用。
domain字串
null
限制 cookie 可用的网域。当你呼叫 set() 方法,而 $domain 没有被指定时,这个值将被使用。
secure布林
false
设为 true 如果你只想要透过安全连线传输 cookie。
httponly布林
false
只允许透过 HTTP 传输 cookie,停用 javascript 存取。

如果全域配置中缺少这些值中的一个或多个时,类别将使用定义在这张表中的预设值。

当使用 cookie,请 务必 确保配置在你的 app/config/config.php 及/或你的 php.ini 档案中的时区与设定在你伺服器上的时区相符。因为 cookie 的到期时间戳记是 GMT,当你时区有不相符时, 计算到期时间将导致严重错误,从不正确的过期到 cookie 完全不被设定, 因为它们到达浏览器时已经逾期。

get($name = null, $default = null)

get 方法能让你读取一个 $_COOKIE 变数。如果没有给名称,会回传所有 cookie。

静态
参数
参数预设描述
$name选择性在 $_COOKIE 阵列里的键。
$default
null
如果阵列项目没有找到时应该要回传什幺值?
回传混合
範例
$theme = Cookie::get('theme', 'blue');

set($name, $value, $expiration = null, $path = null, $domain = null, $secure = null, $httponly = null)

set 方法能让你建立一个 Cookie。

静态
参数
参数预设描述
$name必要在 $_COOKIE 阵列里的键。
$value必要Cookie 的值。
$expiration
null
cookie 应该持续的秒数。
$path
null
在伺服器上 cookie 可用的路径。
$domain
null
Cookie 可用的网域。
$secure
null
设为 true 如果你只想要透过安全连线传输 cookie。
$httponly
null
只允许透过 HTTP 传输 cookie,停用 javascript 存取。
回传布林
範例
Cookie::set('theme', 'blue', 60 * 60 * 24);

对每个没指定或定义为 null 的参数,将被替换为全域定义配置值。

delete($name, $path = null, $domain = null, $secure = null, $httponly = null)

delete 方法从 $_COOKIE 阵列删除一个参数。

当一个 cookie 被建立在指定的路径或网域等,你也必须提供删除函式。

静态
参数
参数预设描述
$name必要移除一个 Cookie 项目。
$path
null
在伺服器上 cookie 可用的路径。
$domain
null
Cookie 可用的网域。
$secure
null
设为 true 如果你只想要透过安全连线传输 cookie。
$httponly
null
只允许透过 HTTP 传输 cookie,停用 javascript 存取。
回传
範例
// 删除通常的 Cookie
\Cookie::delete('theme');

// 设定路径的 Cookie
\Cookie::set('theme', 'fuel', null, '/account/');

// 删除该 Cookie
\Cookie::delete('theme', '/account/');