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 xfocus防注入资料
Apr 27 PHP
劣质的PHP代码简化
Feb 08 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
基于PHP文件操作的详解
Jun 05 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php文件夹与文件目录操作函数介绍
Sep 09 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 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/10 PHP
简单的php文件上传(实例)
2013/10/27 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
python中日期和时间格式化输出的方法小结
2015/03/19 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
django基础学习之send_mail功能
2019/08/07 Python
Python time库基本使用方法分析
2019/12/13 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
大学生自荐信
2013/12/11 职场文书
档案室主任岗位职责
2014/02/12 职场文书
节水倡议书范文
2014/04/15 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
教代会开幕词
2015/01/28 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
2015教师节通讯稿
2015/07/20 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript