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做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 PHP
20个PHP常用类库小结
Sep 11 PHP
PHP循环结构实例讲解
Feb 10 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 PHP
PHP多线程类及用法实例
Dec 03 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
PHP中的Iterator迭代对象属性详解
Apr 12 PHP
PHP中PCRE正则解析代码详解
Apr 26 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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的控制语句
2006/10/09 PHP
功能强大的php文件上传类
2016/08/29 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
Python是怎样处理json模块的
2020/07/16 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
网站开发实习生的自我评价
2013/12/11 职场文书
婚礼新郎父母答谢词
2014/01/16 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
食品安全工作方案
2014/05/07 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
继承公证书格式
2015/01/26 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
《秋思》教学反思
2016/02/23 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis