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 相关文章推荐
PHP的FTP学习(一)
Oct 09 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
php中使用session防止用户非法登录后台的方法
Jan 27 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP pear安装配置教程
May 14 PHP
cakephp常见知识点汇总
Feb 24 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
PHP实现时间日期友好显示实现代码
Sep 08 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 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获取本周第一天和最后一天示例代码
2014/02/24 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
五段实用的js高级技巧
2011/12/20 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
Python匹配中文的正则表达式
2016/05/11 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
北承题目(C++)
2012/05/16 面试题
老师推荐信
2013/10/28 职场文书
两则小学生的自我评价分享
2013/11/14 职场文书
个人简历中自我评价
2014/02/11 职场文书
个人授权委托书范本
2014/04/03 职场文书
转让协议书范本
2014/04/15 职场文书
倡议书范文
2014/04/16 职场文书
节能减耗标语
2014/06/21 职场文书
公司催款律师函
2015/05/27 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers