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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php常用hash加密函数
Nov 22 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
php.ini中的request_order推荐设置
May 10 PHP
解读PHP中上传文件的处理问题
May 29 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 PHP
PHP中多字节字符串操作实例详解
Aug 23 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
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
跟我学Laravel之路由
2014/10/15 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
JSQL  一个 web DB 的封装
2010/05/05 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
Underscore源码分析
2015/12/30 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
python实现的多线程端口扫描功能示例
2017/01/21 Python
python正则表达式的使用
2017/06/12 Python
Python秒算24点实现及原理详解
2019/07/29 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
联谊活动策划书
2014/01/26 职场文书
监考失职检讨书
2015/01/26 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS