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提交后跳转
Jun 23 PHP
用PHP解决的一个栈的面试题
Jul 02 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
YII框架页面缓存操作示例
Apr 29 PHP
php利用array_search与array_column实现二维数组查找
Jul 08 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 PHP
如何理解PHP核心特性命名空间
May 28 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
php上传文件问题汇总
2015/01/30 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
JavaScript日期时间与时间戳的转换函数分享
2015/01/31 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
很棒的js Tab选项卡切换效果
2016/08/30 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
python中copy()与deepcopy()的区别小结
2018/08/03 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
python实现键盘输入的实操方法
2019/07/16 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
python中的错误如何查看
2020/07/08 Python
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
函授毕业生自我鉴定
2013/11/06 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
银行工作检查书范文
2014/01/31 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
护士个人年终总结
2015/02/13 职场文书
nginx之内存池的实现
2022/06/28 Servers