个性化阅读
专注于IT技术分析

Phalcon Cookie管理

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();
    }
}

在上面的代码执行中, 将生成以下文件

Phalcon Cookie管理1

现在, 通过以下代码实现并生成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 
      ); 
   } 
}

输出

Phalcon Cookie管理2

Cookie的加密/解密

Cookies包含有关用户浏览的重要信息, 因此默认情况下会对其进行加密。它在发送给客户端时被加密, 而在用户检索时被解密。

要禁用加密, 我们可以在代码中进行以下更改:

<?php

use Phalcon\Http\Response\Cookies;

$di->set(
    'cookies', function () {
        $cookies = new Cookies();

        $cookies->useEncryption(false);

        return $cookies;
    }
);
赞(0)
未经允许不得转载:srcmini » Phalcon Cookie管理

评论 抢沙发

评论前必须登录!