如何关闭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模板(一)的更多相关文章

  1. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  2. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

  3. Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取

    1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...

  4. ThinkPHP 模板判断输出--Switch 标签

    ThinkPHP 模板引擎支持 switch 判断,根据不同情况输出不同的值,格式如下:<switch name="变量名" >    <case value=& ...

  5. thinkphp模板中foreach循环没数据的错误解决

    从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...

  6. ThinkPHP 模板截取字符串 【转载】

    对于英文字符可使用如下形式(模板中): {$vo.title|substr=,} 如果是中文字符thinkphp提供了msubstr,用法如下: function msubstr($str, $sta ...

  7. (转) ThinkPHP模板自定义标签使用方法

    这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下  转之--http://www.jb51.net/article/51584.htm   使用模板标签可以让网站前台开发 ...

  8. thinkPHP 模板的使用技巧(十三)

    原文:thinkPHP 模板的使用技巧(十三) 模板的使用技巧:页面跳转 .模板包含.模板渲染.模板的继承 页面跳转 <a href='__URL__/index'>我要跳转到首页面,用这 ...

  9. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  10. 转换器2:ThinkPhp模板转Django模板

    前天写了个<ThinkPhp模板转Flask模板> 居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大.我决定写一个Django模板转换器. ...

随机推荐

  1. Linux makefile教程之书写命令四[转]

    书写命令———— 每 条规则中的命令和操作系统Shell的命令行是一致的.make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟 在依赖规则后面的分号后的.在命令 ...

  2. Intent(意图)

    Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...

  3. [Everyday Mathematics]20150215

    设 $n,k$ 是正整数, 使得 $x^{2k}-x^k+1$ 整除 $x^{2n}+x^n+1$. 试证: $x^{2k}+x^k+1$ 整除 $x^{2n}+x^n+1$.

  4. 怎样预防Ddos攻击

    一.为何要DDOS? 随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布,DDOS拒绝服务攻击的实施越来越容易,DDOS攻击事件正在成上升趋势.出于商业竞争.打击报复和网络敲诈等多 ...

  5. Bat 循環執行範例

    @echo off @echo Please key in runcount num. Info:max=100 set /p a= for /l %%i in (1,1,%a%) do ( echo ...

  6. RedHat 5 配置CentOS yum 更新源

    YUM是Redhat Linux在线安装更新及软件的工具,但是这是RHEL5的收费功能,如果没有购买Redhat的服务时不能使用RHEL5的更新源的,会提示注册. 由于CentOS是从Redhat演化 ...

  7. loadrunner中lr_log_message和lr_output_message 的区别

    LoadRunner中lr_output_message和lr_log_message(1)在vgen中,我们必须写输出函数输出信息,将我们所想要了解的信息用函数输出,主要有这么几个函数输出信息: l ...

  8. LoadRunner error -27498

    URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do错误分析:这种错误常常是因为并发压 ...

  9. Cocos2d-android (01) 创建一个简单的cocos2d应用程序

    下载Cocos2d-android的源代码:cocos2d-android-1 git@github.com:ZhouWeikuan/cocos2d.git 将项目导入到eclipse中.运行实例: ...

  10. 设计模式 命令-Command

    命令-Command 当要向不同类的对象发出相同的请求时,可以将接收者和他的动作封装进一个命令对象.这样调用者只和命令产生依赖.而不会和众多的接收者发生依赖. Head First例子 要设计一款遥控 ...