1

我在 cakephp 中使用 cookie 助手,并且我使用以下代码来访问 cookie 变量的值

$this->Cookie->write('testvar','testvalue');

当我尝试获取此 cookie 变量的值时,我创建了一个辅助类

$this->Cookie->read('testvar');

它会产生错误(调用非对象上的成员函数 read())。是否有任何其他方法可以访问助手中的 cookie 变量。尽管我可以尝试 $_Cookie (服务器变量)。

4

2 回答 2

3

您的助手应如下所示:

<?php
App::uses('AppHelper', 'View/Helper');
App::uses('CakeSession', 'Model/Datasource');
class MyCookieHelper extends AppHelper 
{
         public function writeCookie($name, $value = null) 
         {
               return CakeSession::write($name, $value);
         }
         public function readCookie($name)
         {
               return CakeSession::read($name);
         }
}

您可以在视图中使用它,例如:

$this->MyCookie->readCookie($cookie_var_name);

不要忘记MyCookie在控制器中包含助手;

public $components = array('MyCookie');
于 2012-07-26T07:08:38.643 回答
-1

您必须按照以下步骤操作:

在控制器类中,您必须放置此行,或者如果您必须在多个控制器中使用它,则可以放入 APP 控制器:

public $components = array('Cookie');

在行动/功能中,您可以使用它:

$this->Cookie->write('User.name', 'Larry');
echo $this->Cookie->read('User.name');
于 2012-07-26T06:47:05.230 回答