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 foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 PHP
解析crontab php自动运行的方法
Jun 24 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP面向对象程序设计之多态性的应用示例
Dec 19 PHP
PHP的mysqli_set_charset()函数讲解
Jan 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
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
详解Node.js如何开发命令行工具
2016/08/14 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
Python装饰器基础详解
2016/03/09 Python
Python抓取电影天堂电影信息的代码
2016/04/07 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
pycharm实现猜数游戏
2020/12/07 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
大一新生军训时的自我评价分享
2013/12/05 职场文书
2016年教师节慰问信
2015/12/01 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书