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 按指定元素值去除数组元素的实现方法
Nov 04 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
php学习笔记之面向对象编程
Dec 29 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
获取URL文件名后缀
Oct 24 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
PHP进程通信基础之信号
Feb 19 PHP
php简单生成一组与多组随机字符串的方法
May 09 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
php7 错误处理机制修改实例分析
May 25 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中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
日语专业毕业生自荐书
2014/06/18 职场文书
关于读书的活动方案
2014/08/14 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
小学生成绩单评语
2014/12/31 职场文书
2015年话务员工作总结
2015/04/29 职场文书
工程项目合作意向书
2015/05/08 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
MySQL GTID复制的具体使用
2022/05/20 MySQL
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS