全局访问变量权限,在我的CakePHP AppController中设置

Gle*_*tis 0 cakephp cakephp-2.0

我在尝试使用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()
}
Run Code Online (Sandbox Code Playgroud)

这是为了将$ 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()
}
Run Code Online (Sandbox Code Playgroud)

当我加载我的页面时,所有调试给我的是'null'.当我使用测试功能时,同样如此?

请帮忙?我做错了什么?

谢谢,格伦

tig*_*ang 7

Controller::set()设置视图var,而不是类var.如果您想要由所有子类继承的类var,您将执行$this->Menu = 'Some value';并访问$this->Menu.