PHP Smarty 模板 读取配置文件变量
配置文件 预备知识
可以让设计者将全局的模板变量以文件形式管理起来。
其中一个例子是管理模板的颜色值:
通常如果你需要从程序中更改颜色主题,那么你需要找到每个模板文件, 并且修改它们的颜色值。
通过配置文件,颜色值被统一放置到配置文件内,你只需要修改这个文件即可。
#globalvariablespageTitle="MainMenu"bodyBgColor=#000000tableBgColor=#000000rowBgColor=#00ff00[Customer]pageTitle="CustomerInfo"[Login]pageTitle="Login"focus="username"Intro="""Thisisavaluethatspansmorethanoneline.youmustencloseitintriplequotes."""#hiddensection[.Database]host=my.example.comdb=ADDRESSBOOKuser=php-userpass=foobar
配置文件
配置变量的值
1.可以被引用起来,但不是必须的。
2.可以使用单引号或者双引号。
3.如果有的值会跨度不止一行的,那么需要用三引号(""")把它们括起来。
注释 #
(井号)
你可以将任何形式的注释放到配置文件中,但这不是有效的配置文件语法。
使用#
(井号) 来作为注释行的开头。
段落 [ ]
段落的名字用[方括号]括起来。
段落名称可以是任意字符,但不包括[
或 ]
符号。
最顶部的四个值是全局变量,也就是不在段落内的变量。 这些全局变量将总是被载入。
当一个特定的段落被载入,那么段落的变量以及全局变量都会被载入。
如全局变量和段落变量都有同样的变量,那么将使用段落的变量。
如有相同的两个变量在同一个段落,最后一个将会被使用,除非 $config_overwrite
设置被关闭。
段落载入 config_load section
<{config_loadfile="../config/my.conf"section="Customer"}>
配置文件载入
内置的函数 {config_load}
来载入,
通过configLoad()
函数进行载入。
配置段落隐藏 [.hidden]
你可以通过在变量名或段落名前面加上点号(.),来隐藏变量或者整个段落,如[.hidden]
。
这个技巧在你的程序使用配置文件保存一些敏感信息,但这些信息又不希望模板引擎使用时,非常有用。 如果是第三方来对模板进行修改,你也可以保证他们不会在载入配置文件时,读取到这些敏感信息
配置文件从数据库中载入
如$smarty->configLoad("db:my.conf")
。
============================================================
从配置文件获取的变量
1.可以通过 井号引用起来访问如#hash_marks#
<{#title#}>
2.通过Smarty变量 $smarty.config来访问
<{$smarty.config.title}>
完整举例
配置文件 my.conf
title='myfirstweb'bgcolor='white'[index]name='Mr.Yang'[list]age=10
模板文件 hello.tpl
<head><metahttp-equiv="content-type"content="text/html;charset=utf-8"/></head><{config_loadfile="../config/my.conf"section="index"}><bodybgcolor='<{#bgcolor#}>'><h4><{#title#}></h4><h4><{$smarty.config.name}></h4></body>
浏览器输出
myfirstwebMr.Yang
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。