zoukankan      html  css  js  c++  java
  • thinkphp 模板替换

    在进行模板渲染之前,系统还会对读取的模板内容进行一些特殊字符串替换操作,也就是实现了模板输出的替换和过滤。该替换操作仅针对内置的模版引擎。

    大理石平台规格

    这个机制可以使得模板文件的定义更加方便,默认的替换规则有:

    1. __ROOT__ 会替换成当前网站的地址(不含域名)
    2. __APP__ 会替换成当前应用的URL地址 (不含域名)
    3. __MODULE__:会替换成当前模块的URL地址 (不含域名)
    4. __CONTROLLER____或者__URL__ 兼容考虑): 会替换成当前控制器的URL地址(不含域名)
    5. __ACTION__:会替换成当前操作的URL地址 (不含域名)
    6. __SELF__ 会替换成当前的页面URL
    7. __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/

    默认情况下,模板替换只会替换模板文件的特殊字符串,不会替换动态数据中的输出的内容。

    注意这些特殊的字符串是严格区别大小写的,并且这些特殊字符串的替换规则是可以更改或者增加的,我们只需要在应用或者模块的配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的数组索引,就会更改系统的默认规则。例如:

    1. 'TMPL_PARSE_STRING' =>array(
    2. '__PUBLIC__' => '/Common', // 更改默认的/Public 替换规则
    3. '__JS__' => '/Public/JS/', // 增加新的JS类库路径替换规则
    4. '__UPLOAD__' => '/Uploads', // 增加新的上传路径替换规则
    5. )

    有了模板替换规则后,模板中的所有__PUBLIC__字符串都会被替换,那如果确实需要输出__PUBLIC__字符串到模板呢,我们可以通过增加替换规则的方式,例如:

    1. 'TMPL_PARSE_STRING' =>array(
    2. '--PUBLIC--' => '__PUBLIC__', // 采用新规则输出`__PUBLIC__`字符串
    3. )

    这样增加替换规则后,如果我们要在模板中使用__PUBLIC__字符串,只需要在模板中添加--PUBLIC--,其他替换字符串的输出方式类似。

  • 相关阅读:
    vim的modeline
    python的read() 、readline()、readlines()、xreadlines()
    hashset
    java泛型
    eclipse常用快捷键
    互联网计费模式
    cocos2d::CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 不同平台返回值不一样
    CSS为英文和中文字体分别设置不同的字体
    fatal error C1010: 在查找预编译头时遇到意外的文件结尾
    JavaScript权威指南第03章 类型、值和变量(1)
  • 原文地址:https://www.cnblogs.com/furuihua/p/11834616.html
Copyright © 2011-2022 走看看