当前位置:编程学习 > > 正文

thinkphp控制器怎么设置自定义(Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例)

时间:2021-10-02 01:59:29类别:编程学习

thinkphp控制器怎么设置自定义

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

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

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

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

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • <?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()方法赋值):

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • <?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对象赋值):

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • <?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类的静态方法赋值):

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • <?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取值

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • <!-- 获取控制器传递的变量 -->
  • <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>
  • 模板中使用函数:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • <!-- 使用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>
  • 当变量是第一个参数时,不需要用三个#占位。

    模板中的运算:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • <!-- 运算 -->
  • <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>
  • 为赋值时可以使用默认值:

  • ?
  • 1
  • 2
  • <!-- 使用未定义时可以使用默认值 -->
  • <li>性别 : {$sex|default='保密'}</li>
  • 使用{literal}{/literal}可以原样显示php变量:

  • ?
  • 1
  • 2
  • 3
  • 4
  • <!-- 使用leteral标签,实现不编译php -->
  • {literal}
  • <li>ID : {$id}</li>
  • {/literal}
  • 输出结果:  ID : {$id}

    关于注释:

  • ?
  • 1
  • 2
  • <!-- 使用html注释时,用户在查看源码时,是能看到的-->
  • {/* 使用php的注释时,用户在查看源码时,是看不到的 */}
  • 第一种html注释,查看页面源码,能被用户看到,

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

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

    原文链接:https://www.cnblogs.com/gyfluck/p/9408437.html

    上一篇下一篇

    猜您喜欢

    热门推荐