【问题标题】:Global variable in controller cakephp 2控制器 cakephp 2 中的全局变量
【发布时间】:2012-09-28 11:15:34
【问题描述】:

在控制器内部有一个全局变量的方法是什么?

我曾尝试使用 beforeFilter 来实现,但其他函数无法访问它。

只能使用Configure::readConfigure::write 来完成

【问题讨论】:

  • 你需要解释更多它的用途。否则只能猜测。一般来说,配置是一种非常简单和干净的方法,是的。
  • 只想与多个函数共享一些变量。类似于 $isOwner 或 $isAdmin。

标签: cakephp cakephp-2.0 cakephp-2.1 cakephp-2.2


【解决方案1】:

您可以在 AppController 中的任何控制器中设置可访问的变量

class AppController extends Controller {
    public $myGlobalVar;  

    public function beforeFilter()
    {
         //this can be anything array, object, string, etc .....
         $this->myGlobalVar = "test2";
    }
 }

然后在您的其他控制器中,您可以像这样在任何地方访问变量

class TestController extends AppController {

    public function index() {

        debug($this->myGlobalVar);
    }
}

【讨论】:

  • 为什么在索引函数里?不会在 beforeFilter 中吗?
  • 这只是一个例子,应该可以在任何控制器的任何地方访问。
  • 好的,谢谢,但我不使用它作为从模型中读取信息的变量,并且蛋糕不允许在那里进行多次调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 2019-08-02
相关资源
最近更新 更多