目录


一维数组传参

新建控制器:

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. net core mvc剖析:启动流程

    net core mvc剖析:启动流程 asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghe ...

  2. spark RPC详解

    前段时间看spark,看着迷迷糊糊的.最近终于有点头绪,先梳理了一下spark rpc相关的东西,先记录下来. 1,概述 个人认为,如果把分布式系统(HDFS, HBASE,SPARK等)比作一个人, ...

  3. 项目打包发布到tomcat中,中文出现乱码

    先吐槽一下,花了我3个小时,心累 本地运行正常,发布时maven插件里要加utf-8编码 https://blog.csdn.net/testcs_dn/article/details/4558379 ...

  4. 关于使用memcached提高并发的文章,很有用

    http://blog.csdn.net/ywh147/article/details/9385137 http://phl.iteye.com/category/292555 memcached 解 ...

  5. Java基础语法(练习)

    Java基础语法 今日内容介绍 u 循环练习 u 数组方法练习 第1章 循环练习 1.1 编写程序求 1+3+5+7+……+99 的和值. 题目分析: 通过观察发现,本题目要实现的奇数(范围1-100 ...

  6. js字符串与十六进制之间的转换

    在寻找加密解密的时候看到一个方法,代码图片转换.原理为:字符可以转为16进制,与图片RGB的一个R/G/B相对应,即一个像素点可容纳3个字符(注:Canvas的RGBA,透明度A似乎不能使用,使用后, ...

  7. HTTP错误码汇总(转)

    响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行.响应码分五种类型,由它们的第一位数字表示:1.1xx:信息,请求收到,继续处理2.2xx:成功,行为被成功地接受.理解和采纳3 ...

  8. 加载动画插件spin.js的使用随笔

    背景: 在请求后台的“漫长”等待过程中,为了提升用户体验,需要一个类似  的加载动画效果,让用户明确现在处于请求过程中,而不是机子down掉或者网站死了 静态demo(未与后台交互): HTML代码如 ...

  9. javaSe-反射2

    //创建实体类 package com.java.chap07.sec03; public class Student { private String name; private Integer a ...

  10. python爬虫之路——初识数据库存储

    非关系型数据库:MongoDB.关系型数据库:MySQL 关系型和非关系型的区别: 安装: 使用: 应用场景: mongoDB是一种非关系型数据库,分为四大类:键值存储数据库,列存储数据库,文档型数据 ...