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(3)
Oct 09 PHP
一段php加密解密的代码
Oct 09 PHP
php仿ZOL分页类代码
Oct 02 PHP
php strrpos()与strripos()函数
Aug 31 PHP
php绘制一条直线的方法
Jan 24 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
php中define用法实例
Jul 30 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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你的验证码安全码?
2007/01/02 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
php微信开发之谷歌测距
2018/06/14 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
javascript 回调函数详解
2014/11/11 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
Python管理Windows服务小脚本
2018/03/12 Python
python从子线程中获得返回值的方法
2019/01/30 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
python3.6编写的单元测试示例
2019/08/17 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
集体婚礼证婚词
2014/01/13 职场文书
农村文化活动总结
2014/08/28 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
Nginx的基本概念和原理
2022/03/21 Servers