Thinkphp5.0 框架实现控制器向视图view赋值及视图

网络编程 2021-07-04 23:05www.168986.cn编程入门
这篇文章主要介绍了Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作,结合实例形式分析了thinkPHP控制器向视图传值及从视图取值相关操作技巧,需要的朋友可以参考下

本文实例讲述了Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下

Thinkphp5.0 控制器向视图view的赋值

方式一(使用fetch()方法的第二个参数赋值)

<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
  public function study_view(){
    return $this->fetch('study_view',[
      'id' => 1,
      'name' => 'li lei',
      'age' => 10
    ]);
  }
}

方法二(使用assign()方法赋值)

<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
  public function study_view(){
    $this->assign('id',1);
    $this->assign('name','li lei');
    $this->assign('age','12');
    return $this->fetch();
  }
}

方法三(使用think\Controller类的view对象赋值)

<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
  public function study_view(){
    $this->view->id = 2;
    $this->view->name = 'li lei';
    $this->view->age = 15;
    return $this->fetch();
  }
}

方法四(使用View类的静态方法赋值)

<?php
namespace app\index\controller;
use think\Controller;
use think\View;
class Index extends Controller
{
  public function study_view(){
    View::share('id',6);
    View::share('name','zhang san');
    View::share('age',20);
    return $this->fetch();
  }
}

Thinkphp5.0 视图view取值

<!-- 获取控制器传递的变量 -->
<li>{$age}</li>
<!-- 获取服务器的信息 -->
<li>{$Think.server.HTTP_HOST}</li>
<!-- 获取env环境变量 -->
<li>{$Think.env.PHP_STATUS}</li>
<!-- 获取session -->
<li>{$Think.session.username}</li>
<!-- 获取cookie -->
<li>{$Think.cookie.username}</li>
<!-- 获取参数 -->
<li>{$Think.request.id}</li>
<li>{$Think.get.id}</li>
<li>{$Think.post.id}</li>
<!-- 获取常量 -->
<li>{$Think.const.APP_PATH}</li>
<li>{$Think.APP_PATH}</li>
<li>__STATIC__</li>
<li>__CSS__</li>
<li>__JS__</li>
<li>__URL__</li>
<li>__ROOT__</li>

模板中使用函数

<!-- 使用md5函数 -->
<li>ID  {$id|md5}</li>
<!-- 使用字符串截取函数 -->
<li>用户简介  {$intro|substr=0,5}</li>
<!-- 使用字符串替换 -->
<li>用户手机  {$tel|substr_replace='...',3,5}</li>
<!-- 使用格式化时间戳,需要用三个#进行占位 -->
<li>用户手机  {$time|date='Y-m-d H;i:s',###}</li>
<!-- 使用多个函数函数 -->
<li>ID  {$id|md5|strtoupper}</li>

当变量是第一个参数时,不需要用三个#占位。

模板中的运算

<!-- 运算 -->
<li>{$a+$b}</li>
<li>{$a-$b}</li>
<li>{$a$b}</li>
<li>{$a/$b}</li>
<li>{$a%$b}</li>
<li>{$a+$b+$c}</li>
<li>{$a++}</li>
<li>{--$a}</li>

为赋值时可以使用默认值

<!-- 使用未定义时可以使用默认值 -->
<li>性别  {$sex|default='保密'}</li>

使用{literal}{/literal}可以原样显示php变量

<!-- 使用leteral标签,实现不编译php -->
{literal}
<li>ID  {$id}</li>
{/literal}

输出结果  ID {$id}

关于注释

<!-- 使用html注释时,用户在查看源码时,是能看到的-->
{/ 使用php的注释时,用户在查看源码时,是看不到的  

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by