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中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
php header()函数使用说明
Jul 10 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
mysql下创建字段并设置主键的php代码
May 16 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 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延迟静态绑定实例分析
2015/02/08 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
解决Python安装后pip不能用的问题
2018/06/12 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
NumPy中的维度Axis详解
2019/11/26 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
经理秘书岗位职责
2013/11/14 职场文书
个人自我剖析材料
2014/02/07 职场文书
2014年计生标语
2014/06/23 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
租房协议书样本
2014/08/20 职场文书
竞聘自述材料
2014/08/25 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
稽核岗位职责范本
2015/04/13 职场文书
开会通知短信大全
2015/04/20 职场文书
员工手册编写范本
2015/05/14 职场文书
长江七号观后感
2015/06/11 职场文书
圣诞晚会主持词
2015/07/01 职场文书
学生会任命书范本
2015/09/21 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
如何通过一篇文章了解Python中的生成器
2022/04/02 Python