我在cakephp中使用cookie帮助器,我使用以下代码来访问cookie变量的值
$this->Cookie->write('testvar','testvalue');
当我尝试获取此cookie变量vid的值时,我已经创建了一个帮助类
$this->Cookie->read('testvar');
它产生错误(在非对象上调用成员函数read())。 有没有其他方法可以在helper中访问cookie变量。虽然我可以尝试$ _Cookie(服务器变量)。
答案 0 :(得分: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');
答案 1 :(得分:-1)
您必须按照以下步骤操作:
在控制器类中,您必须放置此行,或者如果您必须在多个控制器中使用它,您可以放入APP控制器:
public $components = array('Cookie');
在动作/功能中你可以使用它:
$this->Cookie->write('User.name', 'Larry');
echo $this->Cookie->read('User.name');