ThinkPHP模板(一)

摘要:
如何关闭ThinkPHP模板缓存ThinkPHP的模板缓存无法关闭,因为内置模板引擎是一个已编译的模板引擎,必须先编译生成可执行缓存文件,然后才能执行。目前,官方已经提供了Smarty模板引擎插件,有人已经为ThinkPHP开发了TemplateLite、EaseTempalte和DzTemplate模板引擎插件。
如何关闭ThinkPHP的模板缓存
ThinkPHP的模板缓存是无奈关闭的,因为内置的模板引擎是一个编译型的模板引擎,必须经过编译后生成一个可执行的缓存文件才能被执行。但是可以设置缓存的有效期,例如设置
‘TMPL_CACHE_TIME’ =>3, // 模板缓存有效期 -1 永久 单位为秒
这样,每隔3秒系统会自动重新编译模板文件。默认的配置是-1 表示永久缓存,除非模板文件有改动,模板文件一旦有改动会自动重新编译,如果是包括进来的外部文件有修改,系统是不会自动重新编译的。
ThinkPHP的模板如何使用PHP本身作为模板引擎
ThinkPHP内置的模板引擎也支持直接在模板文件里面使用PHP代码,如果你不想使用任何模板引擎标签的话,可以配置模板引擎类型为PHP就可以完全使用php本身作为框架的模板引擎,在项目配置里面添加:
‘TMPL_ENGINE_TYPE’ =>’php
ThinkPHP的模板可以使用第三方的的模板引擎吗
ThinkPHP框架允许你使用第三方的模版引擎。目前官方已经提供了Smarty模版引擎的插件,已经有人给ThinkPHP开发了TemplateLite、EaseTempalte和DzTemplate模版引擎插件。而且对于自己熟悉的模版引擎来说,非常容易扩展类似的插件。然后在项目配置文件里面配置使用何种模板引擎就可以了。
如何输出其他模块的操作模板
系统提供的display方法支持调用不同位置的模板文件,包括其他模块的操作,例如下面的方法可以调用Member模块的read操作模板:
$this->display(’Member:read’);
模板文件开头使用是什么意义
这表示当前模板文件要加载html标签库,这样在模板文件里面就能使用类似
之类的标签了,内置的模板引擎是基于标签库和XML解析的,所以必须要引入相应的标签库才能进行标签解析,因为系统默认会加载cx标签库,所以
这样的标签是不需要自己加载标签库的。Cx标签库之外的都需要在模板文件的开头用< div>
某些编辑器无奈识别XML标签,模板标签的定界符可以修改吗
内置的模板引擎默认采用的是XML标签作为标签的定界符,但是可以修改的,下面是系统默认的配置,包括普通模板引擎和标签库的标签的起始和结束标记:
‘TMPL_L_DELIM’=>’{', // 模板引擎普通标签开始标记
‘TMPL_R_DELIM’=>’}', // 模板引擎普通标签结束标记
‘TAGLIB_BEGIN’=>’<’, // 标签库标签开始标记
‘TAGLIB_END’=>’>’, // 标签库标签结束标记
需要注意的两种类型的标记不要设置为相同的,以免引起混淆而无奈正常解析。
我不想直接输出模板文件的内容,而是想获取模板输出的内容应该怎么处理
Action类的display方法是用于渲染模板文件并输出,可以使用fetch方法渲染模板文件但不是直接输出,而是返回内容。
模板文件里面经常使用到的__URL__和__APP__有什么作用
如果使用了内置模板引擎的话,可以在模板文件里面使用一些已经定义好的特殊字符串,系统在解析模板的时候会自动替换成相关的系统常量,这些字符串的解析进程是在模板编译的时候进行的。这些可替换的字符串包括:
../public //项目公共目录
__PUBLIC__ //网站公共目录
__ROOT__ //网站根目录
__TMPL__//当前模板目录
__APP__ //当前项目地址
__URL__ //当前模块地址
__ACTION__ //当前操作地址
__SELF__ //当前页面地址
如何在模板文件里面直接输出系统变量和常量
系统变量,必须以$Think.打头,如
{$Think.server.script_name } //取得$_SERVER变量
{$Think.session.session_id } // 获取$_SESSION变量
{$Think.get.pageNumber } //获取$_GET变量
{$Think.cookie.name } //获取$_COOKIE变量
输出系统常量
{$Think.const.__FILE__ }
{$Think.const.MODULE_NAME }
 
 

APP_PATH // 当前项目目录
APP_NAME // 当前项目名称
ACTION_NAME // 当前操作名称

CACHE_PATH // 项目模版缓存目录
CONFIG_PATH //项目配置文件目录
COMMON_PATH//项目公共文件目录

DATA_PATH // 项目数据文件目录
GROUP_PATH //当前分组名称

HTML_PATH//项目静态文件目录

IS_APACHE // 是否属于 Apache

IS_CGI//是否是CGI模式

IS_IIS //是否属于 IIS
IS_WIN //是否属于Windows 环境
IS_LINUX //是否属于 Linux 环境
IS_FREEBSD //是否属于 FreeBsd 环境

LIB_PATH // 项目类库目录
LOG_PATH // 项目日志文件目录
LANG_PATH // 项目语言文件目录

LANG_SET // 浏览器语言

MEMORY_LIMIT_ON // 是否有内存使用限制php.ini 当中是否有内存使用大小的限制

MODULE_NAME //当前模块名称

MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC,是否开启自动转义

TMPL_PATH // 项目模版目录
TEMP_PATH //项目临时文件目录

THINK_VERSION //ThinkPHP 版本号

THINK_PATH // ThinkPHP 系统目录

TMPL_FILE_NAME //当前操作的默认模版名(含路径)
TEMPLATE_NAME //当前模版名称
TEMPLATE_PATH //当前模版路径
PLUGIN_PATH // 项目插件文件目录
VENDOR_PATH // 第三方类库目录
NOW_TIME // 当前时间戳
OUTPUT_GZIP_ON // 是否开启输出压缩
__ROOT__ // 网站根目录地址
__APP__ // 当前项目(入口文件)地址
__URL__ // 当前模块地址
__ACTION__ // 当前操作地址
__SELF__ // 当前 URL 地址

__CRREUT_//当前模块模板地址
WEB_PUBLIC_URL //网站公共目录
APP_PUBLIC_URL //项目公共模版目录

 模板中使用的系统常量
__ROOT__ // 网站根目录地址
__APP__ // 当前项目(入口文件)地址
__URL__ // 当前模块地址
__ACTION__ // 当前操作地址
__SELF__ // 当前 URL 地址
__PUBLIC__ // 网站公共目录
../Public(不区分大小写) // 项目公共模版目录

免责声明:文章转载自《ThinkPHP模板(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HELM的安装与使用Vue3+TypeScript?看这一篇就够了下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转】Maven pom.xml 配置详解

  原文链接:https://yq.aliyun.com/articles/38271   pom.xml文件配置详解 --声明规范 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:s...

Unix操作系统的入门与基础

http://dev2dev.cnblogs.com/archive/2005/10/10/251894.aspx Unix操作系统的入门与基础与大家熟悉的Windows用户界面和使用习惯不同,Unix是常使用命令运行、极具灵活性的操作系统,目前的产品主要有IBM-AIX、SUN-Solaris、HP-UNIX等。初期接触Unix操作系统,下列的问题几乎...

Makefile简介

一、为什么要写Makefile         首先要确定我们的目标,Makefile是用来干嘛的?         曾经很长时间我都是在从事Windows环境下的开发,所以根本不知道Makefile是个什么东西。因为早已经习惯了使用VS、Eclipse等等优秀的IDE做开发,只要点一个按钮,程序就可以运行啦。但是进入公司以后,从事的是Unix环境下的开发...

composer 安装laravel

1、简介 Laravel是一套简洁,优雅的PHP WEB开发框架(PHP Web Framework)。 laravel是目前一个比较主流的框架,现在很多互联网的公司基本都在使用该框架。该框架是基于symfony【国外一款非常流行的框架:由于国内手册不是很齐全,没有多少公司使用】的一个国外的MVC框架。诞生于2011年6月11日。 官网:https://l...

Django框架深入了解——Django中的缓存

Django框架深入了解——Django中的缓存 一、Django中的缓存: 前言: ​ 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数...

flashcache

Flashcache系统管理员手册 1.简介Flashcache 是为Linux操作系统开发的块设备回写缓存内核模块,使用了Device Mapper的方式实现,本文档可指导你快速掌握Flashcache管理工作。2. 系统需求 Flashcache 在Linux 2.6.18 和 2.6.20 内核上编译并测试通过。如果需要在更新的内核上使用,请发送...