На самом деле, кажется, не так легко сделать это из того, что я могу сказать, поэтому, если вы полагаетесь на него для передачи большого количества данных, вы можете подумать о другом способе настройки вашегоapplication.
Несколько способов сделать это - использовать параметры Yii через
Yii::app()->params['myvar'] = $mixed;
, которые вы можете установить в контроллере и получить доступ к макету.В противном случае вы можете использовать обычные глобальные переменные PHP со всеми вытекающими проблемами:
В вашем контроллере вы должны сделать что-то вроде:
global $testvar;
$testvar = 'hello';
и в макете:
echo $GLOBALS['testvar'];
(Даже если он не находится в функции, вам все равно нужно извлечь его через GLOBALS.)
Вы можете передать объект таким образом для более структурированных данных, но вы все еще используете глобальную переменную,Другой, возможно, даже менее желательный метод, будет через сеансовую переменную, например, Yii::app()->session['myvar']
или флэш-сообщение Yii "*1018*".