【发布时间】:2012-03-27 15:16:38
【问题描述】:
注意(8):未定义属性:View::$Cookie [CORE/Cake/View/View.php, line 804]
我在 AppController 中使用if ($this->Cookie->read('userId') != null),它给了我上面的错误。为什么?
【问题讨论】:
-
当您在控制器中运行该代码时,它如何在
View上给您一个错误? -
您的上述声明会比
if (!$this->Cookie->read('userId'))更好-但无论如何:您以某种方式在视图中使用cookie 组件。这当然没有意义。尝试找到那段代码并将其移动到控制器级别。 -
该错误只会显示在视图中,而不是控制器中,因此,我认为可以肯定地说问题在于
$this->Cookie->read()在视图内(.ctp文件)。 CakePHP 的 CookieComponent 不能在视图中使用。如果您需要在视图中读取 cookie,请在控制器中使用$this->set('name', $this->Cookie->read('value'));或在视图中使用$_COOKIE变量(根据 CakePHP 的编码标准非常规)。