在应用控制器中设置变量


Setting variables in AppController

我正在使用CakePHP 2,我的网站的基础知识使用简单的ACL身份验证。

在我编写的旧站点中,我能够在 AppController 中定义一个变量,并在 default.ctp 中回显字符串(我使用它为每个页面构建导航菜单)。 由于某种原因,现在它似乎对我不起作用。 我真的做错了什么吗?

//AppController.php
public function beforeFilter() {
   .....other Auth code....
   $this->set("mytest", "raaa");
}

和在我的默认.ctp

<?php echo $mytest; ?>

和错误消息

Notice (8): Undefined variable: mytest [APP'View'Layouts'default.ctp, line 51]

由于我遇到了其他问题,无法像以前使用 Acl 那样工作,因此我还重新运行了 acl_sync 和我的用户/initDB,以确保问题不是权限问题。 没有变化。

希望我只是错过了一些非常明显的东西,这是一个简单的解决方法,自从我定期编码以来已经有一段时间了,继续忘记事情! 我是否忘记了配置设置中的内容以使我的 default.ctp 上完成此操作? 任何帮助表示赞赏。

如果我将代码放在 beforeRender() 而不是 beforeFilter() 中,它似乎可以工作