Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例

2020-10-20 15:03:48 浏览数 (1)

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

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

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

代码语言:javascript复制
<?php
namespace appindexcontroller;
use thinkController;
class Index extends Controller
{
  public function study_view(){
    return $this- fetch('study_view',[
      'id' =  1,
      'name' =  'li lei',
      'age' =  10
    ]);
  }
}

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

代码语言:javascript复制
<?php
namespace appindexcontroller;
use thinkController;
class Index extends Controller
{
  public function study_view(){
    $this- assign('id',1);
    $this- assign('name','li lei');
    $this- assign('age','12');
    return $this- fetch();
  }
}

方法三(使用thinkController类的view对象赋值):

代码语言:javascript复制
<?php
namespace appindexcontroller;
use thinkController;
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类的静态方法赋值):

代码语言:javascript复制
<?php
namespace appindexcontroller;
use thinkController;
use thinkView;
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取值

代码语言:javascript复制
<!-- 获取控制器传递的变量 -- 
<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 

模板中使用函数:

代码语言:javascript复制
<!-- 使用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 

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

模板中的运算:

代码语言:javascript复制
<!-- 运算 -- 
<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 

为赋值时可以使用默认值:

代码语言:javascript复制
<!-- 使用未定义时可以使用默认值 -- 
<li 性别 : {$sex|default='保密'}</li 

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

代码语言:javascript复制
<!-- 使用leteral标签,实现不编译php -- 
{literal}
<li ID : {$id}</li 
{/literal}

输出结果: ID : {$id}

关于注释:

代码语言:javascript复制
<!-- 使用html注释时,用户在查看源码时,是能看到的-- 
{/* 使用php的注释时,用户在查看源码时,是看不到的 */}

第一种html注释,查看页面源码,能被用户看到,

第二种php注释,查看页面源码,用户看不到。

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

0 人点赞