yii - 每个控制器可用的变量

时间:2012-04-14 20:09:14

标签: yii class-visibility global-scope

我是yii的新手。

我在我的网站上使用了多个控制器,每个控制器都没有什么操作。

我想在每个控制器中使用一些变量(变量的值将被修复,我需要一些公式的常量)。什么是定义这些变量的最佳位置(标准方式)? 我应该使用会话吗? (因为价值不会改变)。

1 个答案:

答案 0 :(得分:2)

不确定您使用的vars是什么,但您可以通过在config main.php中定义它们来实现它。

'params'=>array(
'someVar1'=>'varValue1',
    'someVar2' => 'varValue2',
),

然后你可以通过调用

在任何地方访问它们
Yii::app()->params['someVar1']

它们将在您的应用程序的任何位置提供。

或者您可以将所有控制器扩展到基类并在那里定义常量

基础控制器:

class Controller extends CController { 

    const SOME_VAR = 'someValue'; 
}

你的控制器:

class YourController1 extends Controller
{
    public function actionIndex()
    {
        echo parent::SOME_VAR;
    }

}

您的其他控制人员:

class YourController2 extends Controller
{
    public function actionLogin()
    {
         echo parent::SOME_VAR;
    }

 }