PHP Smarty模板

来源:互联网 发布:新浪邮箱smtp端口 编辑:程序博客网 时间:2024/05/17 11:37

Smarty模板的一个最重要的功能就是将前端和后端分离。前端将完全不用php的语言,用Smarty自己默认定义的限界符{}


感觉到时候前端用bootstrap 后台用php,应该会是个不错的组合(bootstrap还不太会用,争取这周学会使用bootstrap模板)

<?phpdefine('BASE_PATH', $_SERVER['DOCUMENT_ROOT']);//定义Smarty的绝对路径define('SMARTY_PATH', '/phplearn/Smarty/2/Smarty/libs/' );//加载Smarty文件require BASE_PATH.SMARTY_PATH.'Smarty.class.php';//实例化一个Smarty对象$smarty = new Smarty;//定义各个目录的路径$smarty->template_dir = BASE_PATH."/phplearn/Smarty/2/Smarty/demo/templates/";$smarty->compile_dir = BASE_PATH."/phplearn/Smarty/2/Smarty/demo/templates_c/";$smarty->config_dir = BASE_PATH."/phplearn/Smarty/2/Smarty/demo/configs/";$smarty->cache_dir = BASE_PATH."/phplearn/Smarty/2/Smarty/demo/cache/";?>
上面的这段代码是用来实现Smarty的初始化的,定义各个路径


Smarty中前端和后端之间信息的传递是利用的是assign函数,举例如下:

<?phpheader("Content-type:text/html;charset=utf-8");include("config.php");//载入配置文件$arr = array('0'=>'computerbook','name'=>'PHP从入门到精通','unit_price'=>array('price'=>'¥65.00','unit'=>'本'));$smarty->assign("title","第一个Smarty程序");$smarty->assign("arr",$arr);$smarty->display("index.html");?>

在你templates这个文件夹里的index.html就可以使用{$arr} 和 {$title} 这两个变量


还有一种全局变量的定义形式,是利用conf配置文件。

title = Welcome to Smarty!cutoff_size = 40[setup]bold = true
这是一个conf配置文件,放在configs目录下,则在index.html中就可以引用该配置文件,里面变量输出的形式是{#变量名#}

注意,应用文件时,默认的开始路径是index.html的所在目录 引入文件的格式是{config_file file="xxxx"}

0 0