CakePHP注意事项(8):未定义的属性:视图::$Cookie[CORE/Cake/View/View.php,第804行]

CakePHP注意事项(8):未定义的属性:视图::$Cookie[CORE/Cake/View/View.php,第804行],php,cakephp,cookies,Php,Cakephp,Cookies,注意8:未定义的属性:View:$Cookie[CORE/Cake/View/View.php,第804行] 我使用if$this->Cookie->read'userId'!=AppController中为null,它在上面给出了错误。为什么?您可能需要将其添加到控制器中: var $components = array('Cookie'); 这是因为您正在使用CTP文件中的Cookie组件当您在控制器中运行该代码时,它如何在查看时给您一个错误?您上面的陈述会更好$这->Cookie->读取

注意8:未定义的属性:View:$Cookie[CORE/Cake/View/View.php,第804行]


我使用if$this->Cookie->read'userId'!=AppController中为null,它在上面给出了错误。为什么?

您可能需要将其添加到控制器中:

var $components = array('Cookie');

这是因为您正在使用CTP文件中的Cookie组件

当您在控制器中运行该代码时,它如何在查看时给您一个错误?您上面的陈述会更好$这->Cookie->读取“userId”-但无论如何,您在视图中使用了Cookie组件。这当然没有意义。尝试找到那段代码并将其移动到控制器级别。该错误只会显示在视图中,而不会显示在控制器中,因此,我认为可以肯定地说,问题在于$this->Cookie->read位于view.ctp文件中。CakePHP的CookieComponent不能在视图中使用。如果您需要在视图中读取Cookie,可以使用$this->set'name'、$this->Cookie->read'value';根据CakePHP的编码标准,在您的控制器中或在视图中使用$_COOKIE变量是非常不传统的。为什么视图中会出现错误?你能从控制器上传更多的代码吗?