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


Posted in PHP onOctober 12, 2019

本文实例讲述了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的注释时,用户在查看源码时,是看不到的 */}

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

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

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

PHP 相关文章推荐
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 PHP
php生成静态页面的简单示例
Apr 17 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
PHP中if和or运行效率对比
Dec 12 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
PHP的imageTtfText()函数深入详解
Mar 03 PHP
php服务器的系统详解
Oct 12 #PHP
laravel框架 api自定义全局异常处理方法
Oct 11 #PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 #PHP
laravel 获取当前url的别名方法
Oct 11 #PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 #PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 #PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 #PHP
You might like
PHP学习笔记之数组篇
2011/06/28 PHP
php去除重复字的实现代码
2011/09/16 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
Pyramid添加Middleware的方法实例
2013/11/27 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
Python读取表格类型文件代码实例
2020/02/17 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
雷锋精神演讲稿
2014/05/13 职场文书
开工仪式策划方案
2014/05/23 职场文书
停车场管理协议书范本
2014/10/08 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
公司董事任命书
2015/09/21 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
Redis基本数据类型String常用操作命令
2022/06/01 Redis