Yii框架视图、视图布局、视图数据块操作示例


Posted in PHP onOctober 14, 2019

本文实例讲述了Yii框架视图、视图布局、视图数据块操作。分享给大家供大家参考,具体如下:

Yii 视图

控制器方法代码:

public function actionIndex(){
    $data = array(
      'name' => 'zhangsan',
      'age' => 12,
      'address' => array('北京市','朝阳区'),
      'intro' => '我是简介,<script>alert("123");</script>'
    );
    return $this->renderPartial('index',$data);//第二个参数赋值
  }

视图代码:

<?php
  use yii\helpers\Html;
  use yii\helpers\HtmlPurifier;
?>
<h1>Hello index view</h1>
<h2>姓名:<?php echo $name;?></h2>
<h2>年龄:<?=$age?></h2>
<h2>地址:<?=$address[0]?> <?=$address[1]?></h2>
<h2>简介:<?=Html::encode($intro)?> </h2>
<h2>简介:<?=HtmlPurifier::process($intro)?> </h2>

Yii 视图布局

控制器代码:

//设置的布局文件
  public $layout = 'common';
  public function actionAbout(){
    $data = array('page_name'=>'About');
    //render方法会把视图文件common的内容放到$content当中,并显示布局文件。
    return $this->render('about',$data);
  }

公共视图common代码:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="UTF-8">
</head>
<body>
<h1>这是Common内容</h1>
<div>
  <?=$content?>
</div>
</body>
</html>

视图about代码,并调用了activity视图:

<h1> Hello <?=$page_name?></h1>
<?php echo $this->render('activity',array('page_name'=>'activity'));?>

视图activity代码:

<h1> Hello <?=$page_name?></h1>

结论:视图引用了公共布局文件,并且在一个视图中调用另一个视图文件。

Yii 视图数据块

控制器代码:

public $layout = 'common';
  public function actionStudent(){
    $data = array('page_name'=>'Student');
    return $this->render('student',$data);
  }
  public function actionTeacher(){
    $data = array('page_name'=>'Teacher');
    return $this->render('teacher',$data);
  }

公共布局文件common代码:

<!DOCTYPE html>
<html>
<head>
  <title>
    <?php if(isset($this->blocks['webTitle'])):?>
      <?=$this->blocks['webTitle'];?>
    <?php else:?>
      commom
    <?php endif;?>
  </title>
  <meta charset="UTF-8">
</head>
<body>
<h1>这是Common内容</h1>
<div>
  <?=$content?>
</div>
</body>
</html>

视图student代码:

<?php $this->beginBlock('webTitle');?>
<?=$page_name?>页面
<?php $this->endBlock();?>
<h1> Hello <?=$page_name?></h1>

视图teacher代码:

<h1> Hello <?=$page_name?></h1>
<?php $this->beginBlock('webTitle');?>
<?=$page_name?>页面
<?php $this->endBlock();?>

总结:如果需要在视图中改变公共模板中的内容,需要使用block方法,例如上面例子中改变了common页面的title。

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
杏林同学录(八)
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
PHP缓存技术的使用说明
Aug 06 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP中串行化用法示例
Nov 16 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
php自动加载代码实例详解
Feb 26 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 #PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 #PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 #PHP
laravel框架上传图片实现实时预览功能
Oct 14 #PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 #PHP
yii框架数据库关联查询操作示例
Oct 14 #PHP
laravel实现上传图片并在页面显示的例子
Oct 14 #PHP
You might like
PHP使用Mysql事务实例解析
2014/09/08 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
JavaScript中null与undefined分析
2009/07/25 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
JS代码触发事件代码实例
2020/01/02 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
Python下的twisted框架入门指引
2015/04/15 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
C语言50道问题
2014/10/23 面试题
编码实现字符串转整型的函数
2012/06/02 面试题
服装采购员岗位职责
2014/03/15 职场文书
腾讯广告词
2014/03/19 职场文书
应急管理培训方案
2014/06/12 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
教研活动主持词
2015/07/03 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL