PHP Smarty 模板 读取配置文件变量
admin
2023-06-22 00:00:10
0次

配置文件 预备知识

可以让设计者将全局的模板变量以文件形式管理起来。

其中一个例子是管理模板的颜色值:

通常如果你需要从程序中更改颜色主题,那么你需要找到每个模板文件, 并且修改它们的颜色值。

通过配置文件,颜色值被统一放置到配置文件内,你只需要修改这个文件即可。

# global variables
pageTitle = "Main Menu"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00

[Customer]
pageTitle = "Customer Info"

[Login]
pageTitle = "Login"
focus = "username"
Intro = """This is a value that spans more
           than one line. you must enclose
           it in triple quotes."""

# hidden section
[.Database]
host=my.example.com
db=ADDRESSBOOK
user=php-user
pass=foobar

配置文件

配置变量的值

1.可以被引用起来,但不是必须的。

2.可以使用单引号或者双引号。

3.如果有的值会跨度不止一行的,那么需要用三引号(""")把它们括起来。

注释  # (井号)

你可以将任何形式的注释放到配置文件中,但这不是有效的配置文件语法。

使用# (井号) 来作为注释行的开头。

段落  [ ]

段落的名字用[方括号]括起来。

段落名称可以是任意字符,但不包括[ 或 ]符号。


最顶部的四个值是全局变量,也就是不在段落内的变量。 这些全局变量将总是被载入。


当一个特定的段落被载入,那么段落的变量以及全局变量都会被载入。

如全局变量和段落变量都有同样的变量,那么将使用段落的变量。

如有相同的两个变量在同一个段落,最后一个将会被使用,除非 $config_overwrite设置被关闭。


段落载入  config_load    section

<{config_load file="../config/my.conf " section = "Customer"}>


配置文件载入

  1. 内置的函数 {config_load}来载入,

  2. 通过configLoad()函数进行载入。


配置段落隐藏 [.hidden]

你可以通过在变量名或段落名前面加上点号(.),来隐藏变量或者整个段落,如[.hidden]。

这个技巧在你的程序使用配置文件保存一些敏感信息,但这些信息又不希望模板引擎使用时,非常有用。 如果是第三方来对模板进行修改,你也可以保证他们不会在载入配置文件时,读取到这些敏感信息


配置文件从数据库中载入

如$smarty->configLoad("db:my.conf")。


============================================================

从配置文件获取的变量

1.可以通过 井号引用起来访问如#hash_marks#

<{#title#}>

2.通过Smarty变量 $smarty.config来访问

<{$smarty.config.title}>


完整举例

配置文件 my.conf

title='my first web'
bgcolor='white'

[index]
name='Mr.Yang'

[list]
age=10

模板文件 hello.tpl




<{config_load file="../config/my.conf " section="index"}>
'>

<{#title#}>

<{$smarty.config.name}>

浏览器输出

my first web
Mr.Yang


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...