我在mainLayoutAsset.php文件中有以下代码
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace frontend\assets;
use yii\web\AssetBundle;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class MainLayoutAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
];
public $js = [
'member-area/AdminLTE/app.js',
];
}
现在我想访问此文件中的params文件参数
例如。
public $js = [
'member-area/AdminLTE/app.js?v='.Yii::$app->params["version"],
]
但是它给出了错误
PHP Parse Error – yii\base\ErrorException
syntax error, unexpected '.', expecting ']'
'js/tooltip.js?v='.Yii::$app->params["incFileVersion"],
答案 0 :(得分:7)
关于类属性的PHP文档:
通过使用public,protected或private之一,然后是普通变量声明来定义它们。此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。
http://php.net/manual/en/language.oop5.properties.php
您可以简单地覆盖init()
:
public function init()
{
parent::init();
$this->js = [
'member-area/AdminLTE/app.js?v=' . Yii::$app->params['version'],
];
}
你应该try this而不是。{/ p>