专栏首页我的博客tp3.1.2缓存,日志,调试,模板,标签,视图

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 条评论
登录 后参与评论

相关文章

  • 表单提交

    在html中经常用到<form>标签。而我们在使用过程会经常这样用<input name=”sub” type=”submit” value=”提交” /> ...

    苦咖啡
  • Mysql命令行操作教程【一】

    今天突然有人问我会不会用mysql控制台建立数据库?我犹豫了,您呢? 于是就打算好好研究下mysql控制台命令。平时我们使用phpmyadmin或者navica...

    苦咖啡
  • 配置phpmyadmin管理多个server

    //修改librarise/config.default.php $cfg['AllowArbitraryServer'] = true; //默认是false...

    苦咖啡
  • python技巧分享(十三)

    songleo
  • Python 数据库骚操作之 Redis

    前面一篇文章《Python 数据库骚操作 -- MongoDB》介绍了 MongoDB 的库,我把 MySQL 放在了最后面,这篇文章继续介绍 Redis 的操...

    小小詹同学
  • pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    首先拉取 Redis 镜像, 这里我选择的是 redis:alpine 轻量级镜像版本:

    素质
  • flask 页面消息提醒flash

    //flash {% for message in get_flashed_messages() %} <div class="alert alert-wa...

    用户5760343
  • keras读取训练好的模型参数并把参数赋值给其它模型详解

    本博文中的代码,实现的是加载训练好的模型model_halcon_resenet.h5,并把该模型的参数赋值给两个不同的新的model。

    砸漏
  • Python 分布式缓存之Reids数据类型操作详解

    redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护...

    砸漏
  • xcode编译的时候陷入无限indexing的问题笔记

    “Swift因为有类型推断,一般来说你很少需要写类型标注。如果你在声明常量或者变量的时候赋了一个初始值,Swift可以推断出这个常量或者变量的类型”,而事实上,...

    练小习

扫码关注云+社区

领取腾讯云代金券