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秒 可以在静态规则定义覆盖