Yii2框架视图(View)操作及Layout的使用方法分析

本文实例讲述了Yii2框架视图(View)操作及Layout的使用方法。分享给大家供大家参考,具体如下:

渲染视图

1.我们在Default 控制器里做演示

<?php
namespace app\controllers;
use yii\helpers\Url;
use yii\web\Controller;
class DefaultController extends Controller
{
  public function actionIndex()
  {
//    echo Url::toRoute(['index','id'=>11],true);
//    //http://localhost/yiipro/web/default/index?id=11
//
//    echo Url::base();
//    ///yiipro/web
    // 返回视图
    return $this->render('index');
  }
}

return $this->render('index'); 就是渲染视图

2.浏览器访问http://localhost/yiipro/web/index.php/default/,发现报错了

views/default/index.php

说明视图文件要放在views/default 目录下。

我们去创建视图

再次访问:

3.如何向视图传递变量

return $this->render('index',['username'=>'张三','age'=>22]);
<p><?php echo \yii\helpers\Html::encode($username); ?></p>
<p><?php echo \yii\helpers\Html::encode($age); ?></p>

布局layout

1.默认布局

yii\base\Application::$layout = 'main'
app\module\admin\Module::$layout = 'main';

不使用layout,在控制器中加入属性public $layout = false
或方法中动态修改$this->layout = false
也可以使用$this->renderPartial()代替$this->render()

2.新建布局

View/layout/default.php

我们要在Default控制器里使用这个布局,写上:

public $layout = 'default';

浏览器效果:

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

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

(0)

相关推荐

  • YII视图整合kindeditor扩展的方法

    本文实例讲述了YII视图整合kindeditor扩展的方法.分享给大家供大家参考,具体如下: 比较喜欢用kindeditor,YII上的版本比较旧,所以自己重新整了个扩展 先在protected\extensions下创建KEditor文件夹用来放文件,keSource里放kindeditor的源文件,然后建三个类KEditor.KEditorManage和KEditorUpload,KEditor是扩展的主文件,KEditorManage是用来浏览服务器文件的,KEditorUpload是用来

  • Yii视图CGridView实现操作按钮定义地址示例

    本文实例讲述了Yii视图CGridView实现操作按钮定义地址的方法.分享给大家供大家参考,具体如下: <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'mem-sub-grid', 'dataProvider'=>$model, 'columns'=>array( 'zpc_catname', array('name'=>'inputtime', 'value'=>'date(&quo

  • PHP的Yii框架中View视图的使用进阶

    视图名 渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活, 我们称用名字的视图为 视图名. 视图名可以依据以下规则到对应的视图文件路径: 视图名可省略文件扩展名,这种情况下使用 .php 作为扩展, 视图名 about 对应到 about.php 文件名: 视图名以双斜杠 // 开头,对应的视图文件路径为 @app/views/ViewName, 也就是说视图文件在 yii\base\Application::viewPath 路径下找, 例如 //site

  • Yii视图CGridView列表用法实例分析

    本文实例讲述了Yii视图CGridView列表用法.分享给大家供大家参考,具体如下: CGridView列表实例 <!-- 列表 --> <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'words-grid', 'dataProvider'=>$model->search(),//数据源 'filter'=>$model,//设置过滤器,筛选输入框 'columns'=>a

  • PHP的Yii框架中创建视图和渲染视图的方法详解

    视图是 MVC 模式中的一部分. 它是展示数据到终端用户的代码,在网页应用中,根据视图模板来创建视图,视图模板为PHP脚本文件, 主要包含HTML代码和展示类PHP代码,通过yii\web\View应用组件来管理, 该组件主要提供通用方法帮助视图构造和渲染,简单起见,我们称视图模板或视图模板文件为视图. 创建视图 如前所述,视图为包含HTML和PHP代码的PHP脚本,如下代码为一个登录表单的视图, 可看到PHP代码用来生成动态内容如页面标题和表单,HTML代码把它组织成一个漂亮的HTML页面.

  • Yii视图操作之自定义分页实现方法

    本文实例讲述了Yii视图操作之自定义分页实现方法.分享给大家供大家参考,具体如下: 1. 视图文件调用cgridview,clistview时候调用自定义的分页方法 <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'news-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'template'=>'{items}{su

  • YII框架学习笔记之命名空间、操作响应与视图操作示例

    本文实例讲述了YII框架命名空间.操作响应与视图操作.分享给大家供大家参考,具体如下: YII基础准备 1.命名空间 <?php /****假设有三个同名的类,输出的值为A,B,C****/ use a\b\c\apple; use d\e\f\apple as bApple; use g\h\i\apple; $app = new apple();//A $app = new bApple();//B $app = new \Apple();//C 调用的是全局的 2.操作响应 <?php

  • Yii控制器中操作视图js的方法

    本文实例讲述了Yii控制器中操作视图js的方法.分享给大家供大家参考,具体如下: //YII framework路径 Yii::getFrameworkPath(); //protected/runtime Yii::app()->getRuntimePath(); //protected/venders目录 Yii::import('application.venders.*'); //或在protected/config/main.php说明 'import'=>array( //....

  • Yii2框架视图(View)操作及Layout的使用方法分析

    本文实例讲述了Yii2框架视图(View)操作及Layout的使用方法.分享给大家供大家参考,具体如下: 渲染视图 1.我们在Default 控制器里做演示 <?php namespace app\controllers; use yii\helpers\Url; use yii\web\Controller; class DefaultController extends Controller { public function actionIndex() { // echo Url::toR

  • Yii2框架加载css和js文件的方法分析

    本文实例讲述了Yii2框架加载css和js文件的方法.分享给大家供大家参考,具体如下: 1.第一步是要把我们的css.js文件放到web目录下 2.第二步修改assets/AppAsset.php文件 <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ na

  • Yii2框架数据验证操作实例详解

    本文实例讲述了Yii2框架数据验证操作.分享给大家供大家参考,具体如下: 一.场景 什么情况下需要使用场景呢?当一个模型需要在不同情境中使用时,若不同情境下需要的数据表字段和数据验证规则有所不同,则需要定义多个场景来区分不同使用情境.例如,用户注册的时候需要填写email,登录的时候则不需要,这时就需要定义两个不同场景加以区分. 默认情况下模型的场景是由rules()方法申明的验证规则中使用到的场景决定的,也可以通过覆盖scenarios()方法来更具体地定义模型的所有场景,例如: public

  • Thinkphp5.0框架视图view的模板布局用法分析

    本文实例讲述了Thinkphp5.0框架视图view的模板布局用法.分享给大家供大家参考,具体如下: 使用include,文件包含: <!-- 头部 --> <div class="header"> {include file="common/header" /} </div> 模板继承: common\base.html: <!doctype html> <html lang="en">

  • Thinkphp5.0框架视图view的循环标签用法示例

    本文实例讲述了Thinkphp5.0框架视图view的循环标签用法.分享给大家供大家参考,具体如下: volist标签: <!-- 使用volist --> <!-- name是传递过来的要循环变量名 --> <!-- key是每一个索引,可以省略默认为$i --> <!-- id是每一个值 --> <!-- offset是从第几个开始遍历 --> <!-- length是总共遍历几次 --> <!-- empty是为空时显示的

  • Thinkphp5.0 框架视图view的比较标签用法分析

    本文实例讲述了Thinkphp5.0 框架视图view的比较标签用法.分享给大家供大家参考,具体如下: {eq name="a" value="10"} <p>相等</p> {else/} <p>不相等</p> {/eq} {equal name="a" value="10"} <p>相等</p> {else/} <p>不相等</p>

  • Yii2框架引用bootstrap中日期插件yii2-date-picker的方法

    本文实例讲述了Yii2框架引用bootstrap中日期插件yii2-date-picker的方法.分享给大家供大家参考,具体如下: 最近在学习yii2 框架,发现框架很强大,而且结合了时下许多新的技术在里面. 简单记录一下yii2-date-picker插件的使用方法: 首先先了解一下github中的相关资源:https://github.com/2amigos/yii2-date-picker-widget 其次:在自己的项目中利用上面链接中的相关方法下载此资源,命令为: php compos

  • YII2框架中behavior行为的理解与使用方法示例

    本文实例讲述了YII2框架中behavior行为的理解与使用方法.分享给大家供大家参考,具体如下: YII2中的行为说白了就是对组件功能的扩展,在不改变继承关系的条件下. 行为附加到组件后,行为将注入自已的方法和属性到组件,可以像组件访问自定义的方法和属性一样访问行为. 注意行为是对功能的扩展,不要乱用行为,比如有一个动物类和一个人类,他们各自有自已的名称,身高,体重,这些是属性. 他们都会跑,这个时候我们就可以抽象出来做成一个跑的行为,根据不同需求来扩展他们. 这里我们有两个控制器一个Good

  • Java Mybatis框架多表操作与注解开发详解分析

    目录 一对一查询 多对多查询 Mybatis的注解开发 Mybatis的增删查改 MyBatis的注解实现复杂映射开发 一对一查询 一对一查询的模型 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户. 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 一对一查询的语句 对应的sql语句: select * from orders o,user u where o.uid=u.id;查询的结果如下: 创建Order和User实体 创建OrderMapper接口 p

  • laravel5.1框架基础之Blade模板继承简单使用方法分析

    本文实例讲述了laravel5.1框架基础之Blade模板继承简单使用方法.分享给大家供大家参考,具体如下: 模板继承什么用? 自然是增强基础页面的复用,有利于页面文档的条理,也便于更改多处使用的内容,如页头.页脚 1.用法概要 @include('common.header') 包含子视图 @extends('article.common.base') 继承基础模板 @yield('content') 视图占位符 @section('content') @endsection继承模板后向视图占

随机推荐