我在 cakephp 中使用 cookie 助手,并且我使用以下代码来访问 cookie 变量的值
$this->Cookie->write('testvar','testvalue');
当我尝试获取此 cookie 变量的值时,我创建了一个辅助类
$this->Cookie->read('testvar');
它会产生错误(调用非对象上的成员函数 read())。是否有任何其他方法可以访问助手中的 cookie 变量。尽管我可以尝试 $_Cookie (服务器变量)。
我在 cakephp 中使用 cookie 助手,并且我使用以下代码来访问 cookie 变量的值
$this->Cookie->write('testvar','testvalue');
当我尝试获取此 cookie 变量的值时,我创建了一个辅助类
$this->Cookie->read('testvar');
它会产生错误(调用非对象上的成员函数 read())。是否有任何其他方法可以访问助手中的 cookie 变量。尽管我可以尝试 $_Cookie (服务器变量)。
您的助手应如下所示:
<?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');
您必须按照以下步骤操作:
在控制器类中,您必须放置此行,或者如果您必须在多个控制器中使用它,则可以放入 APP 控制器:
public $components = array('Cookie');
在行动/功能中,您可以使用它:
$this->Cookie->write('User.name', 'Larry');
echo $this->Cookie->read('User.name');