是否可以从yii2中的布局访问控制器变量

时间:2016-04-06 09:26:31

标签: php yii2

在我的cpp\controllers\我的5个文件中考虑,如(AController.phpBController.php等。

每个控制器都有自己的公共变量..

AController.php   --- public $variable='Testing';
BController.php   --- public $variable='Bhuvanesh';

来自我的app\views\main.php

如果调用了A控制器,我需要值Testing。如果调用了B控制器,我需要Bhuvanesh

它可能在yii2?提前谢谢。

3 个答案:

答案 0 :(得分:3)

您应该阅读Yii2 Views Guide

  

在视图中,您可以通过表达式$this->context

获取控制器对象

因此,您应该在视图中使用它:

$this->context->variable

答案 1 :(得分:0)

您可以使用__construct()魔术方法吗?在使用类时,此函数会立即执行。如果你做了类似

的事情
public function __construct(){
    echo $this->var; //echo out whatever you want here.
}

我将如何做到这一点。

答案 2 :(得分:0)

为什么不创建具有相同名称的getter方法?

class AController {
     public function getVariable() { return 'A'; }
}

class BController {
     public function getVariable() { return 'B'; }
}

class CController {
     public function getVariable() { return 'C'; }
}

然后你可以用

打电话
$controller->variable