目录


一维数组传参

新建控制器:

D:\xampp\htdocs\yii\controllers\HomeController.php

<?php
/**
* Created by Haima.
* Author:Haima
* QQ:228654416
* Date: 2018/8/23
* Time: 5:36
*/ namespace app\controllers; use yii\base\Controller; class HomeController extends Controller
{
public function actionIndex()
{
$request = \Yii::$app->request;
if ($request->isGet) { // 一维数组传方法:
$user = [
'username' => 'lisi1',
'age' => 26,
];
return $this->renderPartial('index', $user); //加载图层,并传参
// return $this->render('index', $data);
} }
}

新建view模板

D:\xampp\htdocs\yii\views\home\index.php

<?php
/**
* Created by Haima.
* Author:Haima
* QQ:228654416
* Date: 2018/8/23
* Time: 5:43
*/ /* @var $this yii\web\View */ <h2><?=$username?></h2>

效果:


二维数组传参

新建控制器:

D:\xampp\htdocs\yii\controllers\HomeController.php

<?php
/**
* Created by Haima.
* Author:Haima
* QQ:228654416
* Date: 2018/8/23
* Time: 5:36
*/ namespace app\controllers; use yii\base\Controller; class HomeController extends Controller
{
public function actionIndex()
{
$request = \Yii::$app->request;
if ($request->isGet) {
$user = [
'username' => 'lisi1',
'age' => 26,
]; $article = [
'title' => 'this is test',
];
// 方法一:构造大数组(二维数组),传参
// $data = [
// 'user' => $user,
// 'article' => $article,
// ]; // return $this->renderPartial('index', $data); //加载图层,并传参 //方法二:用compact()函数构造数组(二维数组)参数,效果同方法一
return $this->renderPartial('index', compact('user', 'article')); //加载图层,并传参
// return $this->render('index', $data);
} }
}

新建view模板

D:\xampp\htdocs\yii\views\home\index.php

<?php
/**
* Created by Haima.
* Author:Haima
* QQ:228654416
* Date: 2018/8/23
* Time: 5:43
*/ /* @var $this yii\web\View */ $this->title = 'My Yii Application';
?>
<h2><?php echo $user['username']; ?></h2>
<h2><?= $article['title']; ?></h2> <!-- 最简的方式了,yii里没有模板引擎 -->
<h2><?php dump($user);?></h2>

打印效果


视图非法字符的过滤

新建控制器:

D:\xampp\htdocs\yii\controllers\HomeController.php

namespace app\controllers;

use yii\base\Controller;

class HomeController extends Controller
{
public function actionIndex()
{
$request = \Yii::$app->request;
if ($request->isGet) { // 一维数组传方法:
$user = [
'username' => 'lisi1 <script>alert(132);</script>', //这里模拟传出非法字符串
'age' => 26,
];
return $this->renderPartial('index', $user); //加载图层,并传参
// return $this->render('index', $data);
} }
}

新建view模板

D:\xampp\htdocs\yii\views\home\index.php

<?php
use \yii\helpers\Html;
use \yii\helpers\HtmlPurifier;
?>
<h2><?=Html::encode($username)?></h2> <!-- 转义特殊字符 -->
<!-- 打印结果: lisi1 <script>alert(132);</script> -->
<h2><?=HtmlPurifier::process($username)?></h2> <!-- 彻底的过滤特殊字符 -->
<!-- 打印结果:lisi1 -->

打印结果:

9-11.Yii2.0框架控制器分配视图并传参xss攻击脚本视图的过滤的更多相关文章

  1. 8.Yii2.0框架控制器接收get.post数据

    8.Yii2.0框架控制器接收get.post数据 一.get传参 <?php /** * Created by Haima. * Author:Haima * QQ:228654416 * D ...

  2. yii2.0框架安装心得

    yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...

  3. yii2.0 访问控制器下的方法时出现 Object Not Found! 解决办法

    yii2.0  访问控制器下的方法时出现 Object Not Found! 时 可以查看(apache)  入口文件index.php 的同级有没有 .htaccess 文件 没有.htaccess ...

  4. 教你在Yii2.0框架中如何创建自定义小部件

    本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Wid ...

  5. 7.Yii2.0框架自定义全局工具函数

    功能: 新建共用方法的打印方法,可以很方便的格式化打印 一.新建helper/function.php <?php /** * Created by Haima. * Author:Haima ...

  6. DRF框架(五)——context传参,二次封装Response类,两个视图基类(APIView/GenericAPIView),视图扩展类(mixins),子类视图(工具视图),视图集(viewsets),工具视图集

    复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查 ...

  7. 5.0.1版本的react-router-dom路由传参以及路由表的配置和接收页面的接受

    //第一种 通过问号传参 //发送 this.props.history.push("/detail?id="+item.downurl) //路由表配置 <Route pa ...

  8. 12.Yii2.0框架视图模版继承与模版相互调用

    目录 模板渲染的两种方式 加载视图 index.php 和 about.php 页面 建立控制器HomeController php 新建模板 home\index.php 新建模板home\abou ...

  9. yii2.0 从控制器到视图的输出

    在controllers/SiteController.php文件中,添加 public function actionSay($message = 'Hello') { return $this-& ...

随机推荐

  1. atom通过remote ftp同步本地文件到远程主机的方法

    视频教程:https://ninghao.net/video/3991 搜索 “remote ftp”, 点击 “Package”搜索包,Install”安装 本地打开需要同步的项目目录 创建 rem ...

  2. Hive进阶_Hive数据查询

    简单查询和fetch task 简单查询:   简单查询的 fetch task 功能,从HDFS拉取,不用map reduce. 前两种配置,当前session有效.修改hive-site.xml永 ...

  3. Hive_Hive的数据模型_分区表

    Hive的数据模型之分区表 准备数据表: create table sampledata (sid int, sname string, gender string, language int, ma ...

  4. 在东京生活的中国IT程序员

    应之前文章的博友邀请,我来开一篇在日本东京生活的中国IT程序员自谈,文中的讨论对象多为我自己或者是我的中国人(前)同事,有以偏概全之处还请包涵. 首先,我之前说日本的IT并不发达,不发达到什么程度呢? ...

  5. Java基础:(一)数据类型

    一.包装类型 基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成. 八个基本类型:boolean/1:byte/8:char/16:short/16:int/32: ...

  6. Vue的computed和methods区别

    1,computed里面定义的方法是以属性的方式(当然也可以以函数调用的方式)出现在html里面,而methods里面定义的方法是以函数的方式: 2,computed依赖于data里面的数据,只有相关 ...

  7. 多线程串口通信 MFC CSerialPort

    写在前面: 晚上应该继续完成未写完的代码,但Chrome上打开的标签实在太多了,约30个了,必须关掉一些,所以需要把自己看的整理一下然后关掉.本次主要写点MFC环境下多线程串口通信相关的东西,这包括线 ...

  8. cpu 满载测试软件

    for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/d ...

  9. 对Yii 2.0模型rules的理解(load()无法正确装载数据)

    在实际开发中,遇到数据表新增字段而忘记了在对应模型中rules规则中添加新增的字段,而导致load()方法装载不到新增字段,导致新增字段无法写入数据库中.   解决办法:在新增字段后及时在对应模型ru ...

  10. apache官方供下载所有项目所有版本的官方网站地址

    Apache官网有一个列举apache所有发布的项目的各个版本的官方网站,现在在此记录下来供大家快速浏览使用. 网站地址如下: http://archive.apache.org/dist/