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 常用类汇总 推荐收藏
May 13 PHP
php ajax 静态分页过程形式
Sep 02 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
PHP获取当前页面URL函数实例
Oct 22 PHP
php中final关键字用法分析
Dec 07 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
PHP 计算两个时间段之间交集的天数示例
Oct 24 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
php 中的信号处理操作实例详解
Mar 04 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中文本操作的类
2007/03/17 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
JS实现简单短信验证码界面
2017/08/07 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
Django rest framework工具包简单用法示例
2018/07/20 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
怎样写演讲稿
2014/01/04 职场文书
服装促销活动方案
2014/02/23 职场文书
温馨提示标语
2014/06/26 职场文书
保密工作目标责任书
2014/07/28 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
合同审查法律意见书
2015/06/04 职场文书