public function actionView()
{
// $hello = 'hello,abc';
$hello = 'hello,abc<script>alert(3)</script>';
$test_arr = array(1,2);
// 创建一个数组
$data = array();
//把需要传递给视图的数据放到数组中
$data['view_hello_str'] = $hello;
$data['view_test_arr'] = $test_arr;
return $this->renderPartial('index', $data);
return $this->renderPartial('index');
}
index.php
<?php
use yii\helpers\Html;
use yii\helpers\HtmlPurifier;
?>
<h1>
index.php
</h1>
<h2>
<!-- 没有转义 --><?php //echo $view_hello_str?>
<!-- 转义的-->
<?php echo Html::encode($view_hello_str)?>
<?php echo HtmlPurifier::process($view_hello_str)?>
</h2>
<h2>
<?php var_dump($view_test_arr)?>
</h2>
<h2>
<?php
echo $view_test_arr[0];
echo '<br/>';
echo $view_test_arr[1];
?>
</h2>
布局文件
public $layout = 'common';
public function actionLayout()
{
return $this->render('about');//$content
return $this->render('index');//$content
}
在视图中显示另外一个视图
hello, index
<?php
// echo $this->render('about');
echo $this->render('about', array('v_hello'=>'aaabbbccc'));//传递变量
?>
hello, about
<?php
echo $v_hello;
?>
数据块
layout 里面定义一个数据块
子模板复写
视图渲染过程: