2016-06-23 3 views
4

я следующий код в файл mainLayoutAsset.phpКак передать параметры в файл 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 <[email protected]> 
* @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

выражение не допускается как значение по умолчанию поля ... Почему бы вам не использовать 'appendTimestamp' класса' AssetManager' –

+0

Я не хочу использовать метку времени, так как она будет изменять значение каждый раз. Я хочу, чтобы каждый раз, когда я менял свои JS-файлы. Мне просто нужно изменить версию, чтобы включить новый jquery, а не кешированный! –

ответ

7

Из PHP документации о свойствах класса:

Они определяются с помощью одной из ключевых общественных, защищенных или частных, а затем объявление нормальной переменной. Это объявление может включать инициализацию, но эта инициализация должна быть постоянным значением, то есть она должна быть способна быть оценена во время компиляции и не должна зависеть от информации о времени выполнения для оценки.

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 вместо этого.

+0

Спасибо большое .. это сработало! –

Смежные вопросы