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 相关文章推荐
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
php自定义函数实现二维数组排序功能
Jul 20 PHP
示例详解Laravel的注册重构
Aug 14 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
goto语法在PHP中的使用教程
Sep 17 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 静态页面中显示动态内容
2009/08/14 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
jQuery 工具函数学习资料
2010/04/29 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
深入理解React高阶组件
2017/09/28 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
Python学习思维导图(必看篇)
2017/06/26 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
店长岗位职责
2013/11/21 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
社区工作感言
2014/02/21 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android