Yii框架视图、视图布局、视图数据块操作示例

 更新时间:2019年10月14日 09:58:17   转载 作者:学知无涯  
这篇文章主要介绍了Yii框架视图、视图布局、视图数据块操作,结合实例形式分析了Yii框架相关的视图、布局、控制器及数据相关操作技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关文章

  • php实现兼容2038年后Unix时间戳转换函数

    php实现兼容2038年后Unix时间戳转换函数

    这篇文章主要介绍了php实现兼容2038年后Unix时间戳转换函数,使用方法和就的函数一样,非常实用,推荐给大家,希望大家能够喜欢。
    2015-03-03
  • 使用ThinkPHP生成缩略图及显示

    使用ThinkPHP生成缩略图及显示

    这篇文章主要为大家详细介绍了使用ThinkPHP生成缩略图及显示的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • PHP Cli 模式设置进程名称的方法

    PHP Cli 模式设置进程名称的方法

    这篇文章主要介绍了PHP Cli 模式设置进程名称的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • thinkPHP框架中执行原生SQL语句的方法

    thinkPHP框架中执行原生SQL语句的方法

    这篇文章主要介绍了thinkPHP框架中执行原生SQL语句的方法,结合实例形式分析了thinkPHP中执行原生SQL语句的相关操作技巧,并简单分析了query与execute方法的使用区别,需要的朋友可以参考下
    2017-10-10
  • Composer设置忽略版本匹配的方法

    Composer设置忽略版本匹配的方法

    Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。接下来通过本文给大家介绍Composer设置忽略版本匹配的方法,需要的朋友参考下吧
    2016-04-04
  • Zend Framework分页类用法详解

    Zend Framework分页类用法详解

    这篇文章主要介绍了Zend Framework分页类用法,结合实例形式详细分析了Zend Framework分页类的实现代码,相关功能与使用技巧,需要的朋友可以参考下
    2016-03-03
  • Thinkphp的volist标签嵌套循环使用教程

    Thinkphp的volist标签嵌套循环使用教程

    这篇文章主要介绍了Thinkphp实现volist标签嵌套循环的方法,需要的朋友可以参考下
    2014-07-07
  • Thinkphp中数据按分类嵌套循环实现方法

    Thinkphp中数据按分类嵌套循环实现方法

    这篇文章主要介绍了Thinkphp中数据按分类嵌套循环实现方法,适用于嵌套循环具有关联性的情况,是比较实用的技巧,需要的朋友可以参考下
    2014-10-10
  • WordPress中缩略图的使用以及相关技巧

    WordPress中缩略图的使用以及相关技巧

    这篇文章主要介绍了WordPress中缩略图的使用以及相关技巧,包括调用文章的第一个图片以及设置特征图片等手段,需要的朋友可以参考下
    2015-11-11
  • ThinkPHP5与单元测试PHPUnit使用详解

    ThinkPHP5与单元测试PHPUnit使用详解

    这篇文章主要介绍了ThinkPHP5与单元测试PHPUnit使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论