ThinkPHP中的视图

1、模板注释

在实际项目开发中,经常要使用注释功能,如果是ThinkPHP框架,则可以在模板文件中使用如下方式进行注释:

{// 注释内容 } :单行注释

{/* 注释内容 */ } :多行注释

 

示例代码:

运行以上代码可知:ThinkPHP框架中的模板注释属于服务端注释,并不会显示输出在客户端浏览器。

2、fetch获取模板内容

在实际项目开发中,如果我们只想获取模板内容但又不输出,那这个时候可以考虑使用fetch方法进行实现。

$this->fetch() :① 载入模板 ② 替换变量

$this->display() :① 载入模板 ② 替换变量 ③ 输出模板内容

 

示例代码:

3、变量输出

在ThinkPHP模板引擎中,可以使用assign方法分配变量到模板文件并输出,分配的变量类型可以是普通变量、数组变量、对象变量。

 

1)普通变量

在模板中,可以通过{$变量名称}实现对其的访问:

 

2)数组变量

① 一维数组

在模板中可以使用如下方式进行显示输出:

② 二维数组

在模板文件中,可以通过如下方式进行访问:

 

3)对象变量

在模板文件中,可以通过如下方式进行访问:

4、系统变量

  • $Think.server :$_SERVER[]
  • $Think.get    :$_GET[]
  • $Think.post :$_POST[]
  • $Think.request :$_REQUEST[]
  • $Think.cookie :$_COOKIE[]
  • $Think.session :$_SESSION[]
  • $Think.config :读取配置文件中的配置信息

 

示例代码:

运行结果:

5、使用函数(变量调节器)

主要功能:实现对变量的格式化操作,基本语法:

{$name|fn1|fn2=arg1,arg2,###}

特别说明:在使用函数中,其有一种特殊形式:###代表当前变量本身

 

示例代码:

6、默认值

在实际项目开发中,经常会对某个变量进行判断,如果为空,其不会显示任何内容,但是这样其体验度就不是非常友好,所以为了解决这个问题,不妨考虑使用默认值进行设置:

{$变量|default="默认值"}

7、运算符

在有些模板引擎中如Smarty,其是不可以直接参与数学运算的。但是在ThinkPHP模板引擎中,其是允许直接进行数学运算的,基本语法:

  • +        {$a+$b}
  • -        {$ab}
  • *        {$a*$b}
  • /        {$a/$b}
  • %    {$a%$b}
  • ++    {$a++} 或  {++$a}
  • --    {$a--}  或 {--$a}

示例代码:

在模板页面中可以使用运算符对以上两个变量进行数学运算:

ThinkPHP中的视图二的更多相关文章

  1. ThinkPHP中的视图

    ThinkPHP中的视图View 1.什么是视图View 所谓的视图就是用户可视化操作界面. 2.视图View组成 view类(模板引擎类似Smarty) 模板文件(html模板) 3.视图的定义 默 ...

  2. ThinkPHP中的模型二

    ThinkPHP中的模型 1.为什么要创建数据对象 案例:使用ThinkPHP完成部门管理 ① 设计数据库 ② 创建Dept控制器 路径:./Application/Admin/Controller创 ...

  3. ThinkPHP中视图模型详解.

    很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解! 先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相 ...

  4. ThinkPHP中的内置标签

    ThinkPHP中的内置标签 1.内置标签分类 闭合标签 <tag></tag> 开放标签 <tag /> 2.包含文件标签 主要功能:实现对文件的包含(类似于re ...

  5. thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么

    thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么 一.总结 一句话总结:在thinkphp中,我们访问的始终是入口文件,并没有主动去访问任何一个其他文件,只不过在入口文件体内 ...

  6. [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别

    1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...

  7. ASP.NET MVC 视图(二)

    ASP.NET MVC 视图(二) 前言 上篇中对于视图引擎只是做了简单的演示,对于真正的理解视图引擎的工作过程可能还有点模糊,本篇将会对由MVC框架提供给我们的Razor视图引擎的整个执行过程做一个 ...

  8. ThinkPHP中疑难笔记

    不但要记住核心的东西, 还要记住 相关的 东西: 如php cli的版本是 5.6.14 bulit: sep 30, 2015 tp中, 通常说的系统就是框架; 项目就是 "应用程序&qu ...

  9. .NET中的视图和过滤器 (DefaultView和RowFilter)

    NET中的视图和过滤器 (DefaultView和RowFilter) ADO.NET中有一层对象,用来创建任意数据源的抽象模型.其中包括DataSet,DataTable,DataRow,DataV ...

随机推荐

  1. ccConfig(设置一些底层接口状态:是否支持动作叠加 设置fps更新间隔和位置 是否画边框等。。)

    #ifndef __CCCONFIG_H__ #define __CCCONFIG_H__ #include "platform/CCPlatformConfig.h" /** @ ...

  2. Mac OS X下高速拷贝文件路径

    文件路径表示的是文件在文件系统里的位置,无论是用命令行操作的Linux程序猿还是使用windows的广大用户.都难免会有这种需求 在windows上复制当前文件夹的路径有一个特别方便的方式,仅仅须要用 ...

  3. 剑指 offer set 6 打印从 1 到 N 的所有数

    总结 1. 求全排列的变形题, 有些隐晦, 没看出来

  4. Linux合并文件、去除重复行的命令

    Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt >  123.txt   linux去除重复行命令:cat YQ-10 ...

  5. IPC——消息队列

    Linux进程间通信——使用消息队列 下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处.有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管 ...

  6. nopCommerce 数据库初试化及数据操作

    系统启动时执行任务:IStartupTask,启动时执行的任务主要是数据库的初始化和加载. IStartupTask调用IEfDataProvider进行数据库的初始化. IEfDataProvide ...

  7. BootStrap2学习日记15----选项卡

    导航格式1: <ul class="nav nav-tabs"> <li class="active"><a href=" ...

  8. 【源码】初探C#爬虫,持续更新中。。。

       最近看到园子里有人用python做的爬虫软件并且上传的源码,苦于不懂python,便想着用C#也实现一个简易的爬虫软件.于是昨晚花了一个多小时的时间实现了一个简单的爬虫软件,功能十分简单,但是觉 ...

  9. IOS UItableView 滚动到底 触发事件

    开发过程中,在使用UItableView 总会遇到加载更多的问题,到底是手势响应瀑布流的方法好? 还是添加一个底端cell点击触发加载更多好?我也想有自己的判断.但是我们老板总说了算,没办法,谁叫我给 ...

  10. 测试 IE 浏览器兼容性 VirtualBox + modern.ie

    VirtualBox 是开源的虚拟机软件,常用的虚拟机软件还有 VMware / Hyper-V / Paralles Desktop . modern.ie 是微软官方提供的用于测试网页在各版本 I ...