2015-07-21 13:50:44 19420次浏览 3条回答 2 悬赏 15 金钱

Yii2.0 在params里配置里一个自定义变量envDir, 在view里可以通过
Yii::$app->params['envDir']访问,选择需要在AppAssets里访问这个变量,请问如何做到?

PS: 在AppAssets里我直接访问Yii会报错。

最佳答案

  • 师阳 发布于 2015-07-22 16:15 举报

    显然是不能这样做,PHP的问题。你应该重写下 init()方法,比如

    class AppAsset extends AssetBundle
    {
        public $envDir;
        public function init()
        {
            parent::init();
            $this->envDir = Yii::$app->params['envDir'];
        }
    }
    
    1 条回复
    回复于 2015-07-22 17:46 回复

    因为要使用Yii,所以还需要加上use yii;,这个方法已经很大解决我的问题了,非常感谢。

  • 回答于 2015-07-21 14:11 举报

    报什么错?

    2 条回复
    回复于 2015-07-21 14:17 回复

    我显式use Yii;, 通过public $envDir = Yii;引用
    报下面错误:
    Use of undefined constant Yii - assumed 'Yii'

    回复于 2015-07-21 14:19 回复

    通过public $envDir = Yii::$app->params['envDir'];
    报如下错误:
    syntax error, unexpected '$app' (T_VARIABLE), expecting identifier (T_STRING) or class (T_CLASS)

  • 回答于 2015-07-23 10:44 举报

    use Yii; or use :\Yii::$app...........

    1 条回复
    回复于 2015-07-24 10:58 回复

    这个我试过了,会报$app这个变量不存在的错误,还是使用了上面在init方法里初始化的方法,不过还是感谢您的回复。

您需要登录后才可以回答。登录 | 立即注册
beefkid
职场新人

beefkid

注册时间:2015-07-21
最后登录:2015-07-29
在线时长:1小时14分
  • 粉丝0
  • 金钱50
  • 威望0
  • 积分60

热门问题