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中的登陆login
Jan 18 PHP
php下判断数组中是否存在相同的值array_unique
Mar 25 PHP
php获取地址栏信息的代码
Oct 08 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
Destoon实现多表查询示例
Aug 21 PHP
php中spl_autoload详解
Oct 17 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
express express-session的使用小结
2018/12/12 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python中使用中文的方法
2011/02/19 Python
python 调用c语言函数的方法
2017/09/29 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
python装饰器代替set get方法实例
2019/12/19 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
公司接待方案
2014/03/08 职场文书
体育专业自荐书
2014/05/29 职场文书
三严三实对照检查材料
2014/08/25 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
OpenCV实现常见的四种图像几何变换
2022/04/01 Python
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
nginx之queue的具体使用
2022/06/28 Servers