Cookie是浏览器在用户系统上存储的一个小型文本文件。 Cookies被设计为网站记住状态信息或记录用户浏览活动的可靠机制。 Phalcon \ Http \ Response \ Cookies是存储cookie的目录。 Cookie管理有助于在请求执行期间将Cookie存储在上述目录下, 并在请求结束时自动发送。
句法:
要检查先前设置的cookie:$ var_name-> cookies-> has(‘checking_name’);
获取cookie:$ var_name-> cookies-> get(‘cookie_name’);
获取cookie值:$ var_name-> cookies-> getValue();
设置cookie:$ var_name-> cookies-> set(cookie_name, ‘some value’, time()+ 15 * 86400);
删除cookie:$ var_name-> cookies-> get(‘cookie_name’)-> delete();
Cookie生成示例
<?php
use Phalcon\Mvc\Controller;
class SessionController extends Controller
{
public function loginAction()
{
// Check if the cookie has previously set
if ($this->cookies->has('cookie-name')) {
// Get the cookie
$rememberMeCookie = $this->cookies->get('cookie-name');
// Get the cookie's value
$value = $rememberMeCookie->getValue();
}
}
public function startAction()
{
$this->cookies->set(
'cookie-name', 'some value', time() + 15 * 86400
);
}
public function logoutAction()
{
$rememberMeCookie = $this->cookies->get('cookie-name');
// Delete the cookie
$rememberMeCookie->delete();
}
}
在上面的代码执行中, 将生成以下文件
现在, 通过以下代码实现并生成cookie:在此cookie中, 名称为” login-action”, 值为” srcmini”。
<?php
class UsersController extends \Phalcon\Mvc\Controller {
public function indexAction() {
if ($this->cookies->has("login-action")) {
// Get the cookie
$loginCookie = $this->cookies->get("login-action");
// Get the cookie's value
$value = $loginCookie->getValue();
echo($value);
}
$this->cookies->set(
"login-action", "srcmini", time() + 15 * 86400
);
}
}
输出
Cookie的加密/解密
Cookies包含有关用户浏览的重要信息, 因此默认情况下会对其进行加密。它在发送给客户端时被加密, 而在用户检索时被解密。
要禁用加密, 我们可以在代码中进行以下更改:
<?php
use Phalcon\Http\Response\Cookies;
$di->set(
'cookies', function () {
$cookies = new Cookies();
$cookies->useEncryption(false);
return $cookies;
}
);
评论前必须登录!
注册