Smarty 是什么?
为什么使用它?
使用案例和工作流
语法比较
模板继承
最佳实践
速成课程
对于设计师来说,配置文件非常方便,可以从一个文件中管理全局模板变量。模板颜色就是一个例子。通常,如果你想要更改应用程序的配色方案,则必须逐一查看每个模板文件并更改颜色。使用配置文件可以将颜色保存在一处,并且只需要更新一个文件。
示例 9.1。配置文件语法的示例
# 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
配置文件变量的值可以放在引号中,但不一定。你可以使用单引号或双引号。如果你有一个值跨越多行,请用三个引号 (""") 括起整个值。你可以使用任何不是有效的配置文件语法的语法来将注释放入配置文件中。我们建议在行的开头使用 #
(哈希)。
上面的示例配置文件有两个部分。部分名称用 [方括号] 括起来。部分名称可以是任意不包含 [
或 ]
符号的字符串。顶部的四个变量是全局变量,或者不是在部分中的变量。这些变量始终从配置文件加载。如果加载了某个特定的部分,则还将加载全局变量和该部分中的变量。如果一个变量同时存在于全局变量中和某个部分中,则将使用部分变量。如果你在某个部分中对两个变量命名相同,则将使用最后一个变量,除非$config_overwrite
被禁用。
配置文件使用内置模板函数 {config_load}
或 API configLoad()
函数加载到模板中。
您可以通过变量名前或节名前加上句点(.) 来隐藏变量或整个部分,例如 [.hidden]
。如果您的应用程序读取配置文件并从中获取模板引擎不需要的敏感数据,这将非常有用。如果您有第三方执行模板编辑,则可以确保他们无法通过将敏感数据加载到模板中来读取配置文件中的敏感数据。
配置文件(或资源)由与模板相同的资源设施加载。这意味着配置文件也可以从 db 加载 $smarty->configLoad("db:my.conf")
。
另请参见 {config_load}
,$config_overwrite
,$default_config_handler_func
,getConfigVars()
,clearConfig()
和 configLoad()