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默认安装产生系统漏洞
Oct 09 PHP
PHP如何得到当前页和上一页的地址?
Nov 27 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
ajax 的post方法实例(带循环)
Jul 04 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
php calender(日历)二个版本代码示例(解决2038问题)
Dec 24 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 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脚本[带参数]的方法
2010/01/22 PHP
php中smarty区域循环的方法
2015/06/11 PHP
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
pyqt5自定义信号实例解析
2018/01/31 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python的debug实用工具 pdb详解
2019/07/12 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
车工岗位职责
2013/11/26 职场文书
门卫岗位安全职责
2013/12/13 职场文书
学校运动会广播稿
2014/10/11 职场文书
股东大会通知
2015/04/24 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
2016年五一促销广告语
2016/01/28 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技