smarty模板引擎从配置文件中获取数据的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了smarty模板引擎从配置文件中获取数据的方法。分享给大家供大家参考。具体如下:

当某个变量值,不希望在程序中写死时,就可以把该变量写到配置文件里,并从中获取(常见的配置样式)。

第一步:先写一个配置文件,如数据库的 db.conf,后缀名conf可以随便写,db.ini也行。文件中内容的格式需要固定:key="值",每一行后面不需要添加分号或者什么,直接回国换行,如:

配置文件:db.conf

复制代码 代码如下:
host = "localhost"
username = "root"
password = "123456"
db_name = "liuyan"

模板文件:temp.tpl

使用{config_load file="db.conf"} 将文件引入进来。注意,如果写相对路径的话,要以访问的页面来看。比如这里,temp.tpl放在templates目录下,db.conf是放在与templates目录同一层,但由于浏览器访问的文件index.php与db.conf同一层,所以,引用时,直接写 {config_load file="db.conf"}  。

复制代码 代码如下:
{config_load file="db.conf"}
<html>
<h2>smarty变量操作,从配置文件中获取</h2>
<p style="color:green;">{#host#}</p>
<p style="color:red;">{#username#}</p>
</html>

浏览器访问:index.php

与从php获取变量数据不同,这里不需要用assign分配,而在模板文件里直接加载

复制代码 代码如下:
<?php
//创建smarty对象
require_once("./libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->display("index.tpl");
?>

希望本文所述对大家的smarty程序设计有所帮助。

相关文章

PHP+Redis开发的书签案例实战详解

PHP+Redis开发的书签案例实战详解

本文实例讲述了PHP+Redis开发的书签案例。分享给大家供大家参考,具体如下: redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更...

PHP最常用的正则表达式

一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0...

PHP获取表单所有复选框的值的方法

通常来说,php中总是只获取最后一个复选框的值,那么如何才能获取所有复选框的值? 解决办法如下: form表单的部分代码如下: <input type="checkbox" n...

PHP传参之传值与传址的区别

废话不多说,先来看段代码 function test(&val){ return $val; } 其中为什么用到&进行传参呢,有什么好处? 传址是允许在函数内部进行改变的意思,比...

php中html_entity_decode实现HTML实体转义

最近遇到一个问题,数据中包含中文引号,结果被转义存储到数据库,取数据的时候用了htmlspecialchars_decode把实体转义回去,结果发现并没有生效,看了一下htmlspeci...