我在尝试使用CakePHP 2.2.2应用程序设置全局变量时遇到问题。我在AppController中定义了以下内容:
App::uses('Controller', 'Controller');
class AppController extends Controller {
function beforeFilter() {
$MenuTest = "MENU TEST";
$this->set('Menu', $MenuTest);
} //End of beforeFilter()
}
这是为了将$ MenuTest设置为全局变量吗?所以我应该可以在我想要的任何控制器或视图上访问$ MenuTest?我错过了什么?
App::uses('AppController', 'Controller');
class PagesController extends AppController {
public $name = 'Pages';
public $uses = array();
public function display() {
debug( $Menu);
die();
$this->render('home');
}//End of function display()
function test () {
echo $Menu;
echo 'This is testing a new link';
die();
}//End of function test()
}
当我加载我的页面时,所有调试给我的是'null'。当我使用测试功能时,同样如此?
请帮帮忙?我做错了什么?
谢谢,格伦
答案 0 :(得分:7)
Controller::set()
设置视图var,而不是类var。如果您想要一个由所有子类继承的类var,您将$this->Menu = 'Some value';
并使用$this->Menu
进行访问。