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 相关文章推荐
利用js调用后台php进行数据处理原码
Oct 09 PHP
php预定义常量
Dec 25 PHP
由php if 想到的些问题
Mar 22 PHP
PHP中MD5函数使用实例代码
Jun 07 PHP
php获取地址栏信息的代码
Oct 08 PHP
一个简单的网页密码登陆php代码
Jul 17 PHP
php实现的Cookies操作类实例
Sep 24 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 PHP
laravel使用redis队列实例讲解
Mar 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
javascript操作文本框readOnly
2007/05/15 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
js控制frameSet示例
2013/09/10 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
python将list转为matrix的方法
2018/12/12 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
乡镇办公室工作决心书
2014/03/11 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书
调研报告的主要写法
2019/04/18 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
Python基础之数据结构详解
2021/04/28 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL