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 相关文章推荐
BBS(php &amp; mysql)完整版(八)
Oct 09 PHP
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
浅析THINKPHP的addAll支持的最大数据量
Feb 03 PHP
php安装swoole扩展的方法
Mar 19 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
php实现Mysql简易操作类
Oct 11 PHP
CI分页类首页、尾页不显示的解决方法
Mar 28 PHP
PHP获取访问设备信息的方法示例
Feb 20 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 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
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
PHP制作用户注册系统
2015/10/23 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
python人人网登录应用实例
2014/09/26 Python
跟老齐学Python之for循环语句
2014/10/02 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
药学专业大学生个人的自我评价
2013/11/04 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
趣味体育活动方案
2014/02/08 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
白血病捐款倡议书
2014/05/14 职场文书
品牌推广策划方案
2014/05/28 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
初中优秀学生评语
2014/12/29 职场文书