tp3.1.2缓存,日志,调试,模板,标签,视图

1.模板 默认在tpl目录下 默认后缀是.html,可以通过TMPL_TEMPLATE_SUFFIX来配置 如果启用分组,那么模板可能在tpl/分组名/目录下,可以配置TMP_FILE_DEPR来简化模板目录层次

2.赋值 $this->assign(‘name’, $name);

3.模版渲染 调用当前模块下当前操作$this->display(); 调用当前模块下的其他操作$this->display(‘user’);//当前在index,注意不要带后缀 调用其他模块下的操作$this->display(‘Member:read’); 调用其他主题下的模板$this->display(‘Xp:User:read’);

display第二个参数是 设置编码,第三个参数是设置内容格式

DEFAULT_CHARSET =>’utf-8’网站输入默认编码 TMP_CONTENT_TYPE=>’text/htm’网站内容格式

4.模板替换路径

../Public 模板文件的上一层文件夹 __TMPL__ 两个下划线,模板的文件夹目录 __PUBLIC__ 入口文件夹下的Public目录 __ROOT__ 网站地址,不带域名 __APP__ 项目URL地址,不带域名 __URL__ 当前模块URL,不带域名 __ACTION__ 当前操作方法url,不带域名 _SELF__ 当前页面URL

可以配置TMPL_PARSE_STRING 来配置以上路径

5.获取解析内容 $content = $this->fetch();//参数类似display

6.模版引擎 ‘TMPL_ENGINE_TYPE’ =>’PHP’//配置模版引擎 默认在模板中{$name}可以输入$this->assign(‘name’, $name);//其中{和$之间不能有任何空格 当然可以用TMPL_L_DELIM,TMPL_R_DELIM来配置左右定界符

7.系统变量 可以在模板中直接用系统变量,而不需要赋值 $Think.server 获取$_SERVER $Think.get 获取$_GET $Think.post 获取$_POST $Think.request 获取$_REQUEST $Think.cookie 获取$_COOKIE $Think.session 获取$_SESSION $Think.config 获取系统配置参数 $Think.lang 获取系统语言变量 $Think.const 获取系统常量 $Think.env 获取环境变量 $Think.version 获取框架版本号 $Think.now 获取当前时间(默认非时间戳)可以更改内容模板 $Think.template 获取当前模板 $Think.ldelim 获取模板左界定符 $Think.rdelim 获取模板右界定符

8.模板使用函数 {$name|function1|function=arg1,arg2,###}其中###来代替$name在参数中的未知 执行内部快捷函数并输出返回值{:C(‘DB_NAME’)} 执行函数不输出{~function()}

9.使用默认值 {$name|default=’默认值’}支持html

10.标签

标签名 作用 包含属性 include 包含外部模板文件(闭合) file import 导入资源文件(闭合 包括js css load别名) file,href,type,value,basepath volist 循环数组数据输出 name,id,offset,length,key,mod foreach 数组或对象遍历输出 name,item,key for For循环数据输出 name,from,to,before,step switch 分支判断输出 name case 分支判断输出(必须和switch配套使用) value,break default 默认情况输出(闭合 必须和switch配套使用) 无 compare 比较输出(包括eq neq lt gt egt elt heq nheq等别名) name,value,type range 范围判断输出(包括in notin between notbetween别名) name,value,type present 判断是否赋值 name notpresent 判断是否尚未赋值 name empty 判断数据是否为空 name notempty 判断数据是否不为空 name defined 判断常量是否定义 name notdefined 判断常量是否未定义 name define 常量定义(闭合) name,value assign 变量赋值(闭合) name,value if 条件判断输出 condition elseif 条件判断输出(闭合 必须和if标签配套使用) condition else 条件不成立输出(闭合 可用于其他标签) 无 php 使用php代码 无

11.模板布局 LAYOUT_ON是配置是否开启布局,默认不开启 LAYOUT_NAME配置布局文件名称,默认为layout 布局文件中{__CONTENT__}替代内容

12.原样输出 literal标签能保持原样输出

13.日志 LOG_RECORD=>true开启日志记录 ‘LOG_TYPE’ => 0 system 日志发送到php的系统日志 1日志通过邮件发送 3 默认文件 4sapi方式记录 手动记录日志Log::write($sql, Log::SQL); 试用Log::recode保存日志到内容,Log::save保存记录日志

14.异常处理 TMPL_EXCEPTION_FILE可以配置异常模板,其中模板中可以使用$e[‘file’]异常文件名 $e[‘line’]异常发生行数,$e[‘message’]异常信息,$e[‘trace’]异常的详细trace信息

15异常显示

SHOW_ERROR_MSG来配置是否显示异常,ERROR_MSGAGE显示错误信息,ERROR_PAGE错误或者异常指向页面

16.页面trace SHOW_PAGE_TRACE来配置是否开启 TRACE_PAGE_TABS来配置显示的选项卡 trace($user,’标识’,’user’);//第一个是内容,第二个是标记,第三个是选项卡 保存trace通过PAGE_TRACE_SAVE来配置,可以配置保存那些选项卡下的内容

17.缓存 用DATA_CACHE_TYPE来配置默认数据库缓存形式,默认是文件 DATA_CACHE_SUBDIR=>true设置防止缓存目录大量文件存在 DATA_PATH_LEVEL=>2设置缓存目录层级

//缓存初始化 cache(array(‘type’ => ‘memcache’, ‘expire’=>60)); //缓存设置 cache(“list”, $list); //缓存读取 $list = cache(“list”); //删除缓存 cache(“a”, null);

$chache = cache(array(‘type’ => ‘memcache’)); $cache->set(‘name’, $name);//或者$chech->name = $name; $cache->get(“name”);//$chache-name; $cache-rm(‘name’);//unset($cache->name)

快速缓存可以用F方法

查询缓存可以用DATA_CACHE_TIME设置缓存时间 $model->cache(true)->select();//可以设置查询缓存时间和类型

静态缓存 HTML_CACHE_ON=>true开启静态缓存,HTML_FILE_SUFFIX 静态文件后缀HTML_CACHE_TIME 默认的静态缓存有效期 默认60秒 可以在静态规则定义覆盖

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习从入门到成神

SpringMVC的JSP页面中中EL表达式不起作用的问题解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

2671
来自专栏智能大石头

模版引擎XTemplate与代码生成器XCoder(源码)

模版引擎XTemplate是一个仿T4设计的引擎,功能上基本与T4一致(模版语法上完全兼容T4,模版头指令部分兼容)。     自己设计模版引擎,就是为了代码...

2137
来自专栏更流畅、简洁的软件开发方式

分页解决方案 之 数据访问函数库——另类的思路、另类的写法,造就了不一样的发展道路。

    如何访问数据库?一个老掉牙的问题,方法多了去了,什么直接使用ado.net、使用SQLHelp、使用微软的企业库、使用ORM、使用LinQ to SQL...

2448
来自专栏逸鹏说道

C# 温故而知新: 线程篇(四)

线程同步篇 (中):同步工具类的介绍 1 上篇回顾 2 继续介绍基元内核模式中的 monitor类 3 同步句柄:WaitHandle 4 EventW...

3136
来自专栏Pythonista

Django基础教程

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于...

4182
来自专栏三丰SanFeng

Linux进程间通信(四) - 共享内存

共享内存的优势 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用...

2985
来自专栏蓝天

Shell 条件判断汇总

-b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

812
来自专栏salesforce零基础学习

salesforce lightning零基础学习(三) 表达式的!(绑定表达式)与 #(非绑定表达式)

在salesforce的classic中,我们使用{!expresion}在前台页面展示信息,在lightning中,上一篇我们也提及了,如果展示attribu...

1140
来自专栏FreeBuf

某入群题之命令执行字符限制绕过(WEB100)

某入群题又来啦!由于之前刚好做了下hitcon的两个命令执行绕过,问了下pcat能不能写这篇文章。然后他说随便我…..这里就记录一下。看题!

1174
来自专栏JavaEE

mybatis-plus的使用 ------ 进阶

关于mybatis-plus的简介以及基本使用,我在《mybatis-plus的使用 ------ 入门》一文中已做介绍,此处不再赘述。本文主要对mybatis...

6887

扫码关注云+社区

领取腾讯云代金券