标签:auto nts fine 配置 echo style 输出 位置 set
首先需要建一个smarty的类文件.php
<?php class smarty { public $left = "{";//左分隔符 public $right = "}";//右分隔符 public $arr = array(); //存储变量 //向模板里面注册变量 function assign($key,$value) { $this->arr[$key] = $value; } //显示模板 function display($name) { //找到模板路径 $url = "/".$name; //模板读取 $str = file_get_contents($url); //将str里面的某些内容(变量)做了替换 //将模板里面的<{$aa}> 替换成 <?php echo $arr[aa] //将替换好的字符串保存到编译好的文件 file_put_contents($filename,$str); //将编译好的文件拿到当前页面显示 include($filename); } }
其次新建一个php文件 引入入口文件 入口文件如下
<?php define("ROOT",str_replace("\\","/",dirname(__FILE__)).‘/‘); //常量ROOT中指定项目根目录 //echo str_replace("\\","/",dirname(__FILE__)).‘/‘; //获取当前文件所在的位置 require ROOT.‘libs/Smarty.class.php‘; //加载Smarty类文件 $smarty = new Smarty(); //实例化Smarty对象 define("CSS_PATH","/project/css/");//定义常量目录 css目录 define("JS_PATH","/project/js/");//js目录 //$smarty -> auto_literal = false; //就可以让定界符号使用空格 $smarty->setTemplateDir(ROOT.‘templates/‘); //设置所有模板文件存放位置 //$smarty->addTemplateDir(ROOT.‘templates2/‘); //添加一个模板文件夹 $smarty->setCompileDir(ROOT.‘templates_c/‘); //设置编译过的模板存放的目录 $smarty->addPluginsDir(ROOT.‘plugins/‘); //设置为模板扩充插件存放目录 $smarty->setCacheDir(ROOT.‘cache/‘); //设置缓存文件存放目录 $smarty->setConfigDir(ROOT.‘configs/‘); //设置模板配置文件存放目录 $smarty->caching = false; //设置Smarty缓存开关功能 $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天 $smarty->left_delimiter = ‘<{‘; //设置模板语言中的左结束符 $smarty->right_delimiter = ‘}>‘; //设置模板语言中的右结束符 ?>
php文件如下
<?php include("../init.inc.php"); $smarty->assign("ceshi","你好"); //注册变量的方法 $smarty->display("test.html");
继续在project文件夹下写相应的html文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <{$ceshi}> </body> </html>
注意:
1.smarty的注释模板注释被*星号包围,而两边的星号又被定界符包围:
{* this is a comment *}
2.
加载配置文件后,配置文件中的变量需要用两个井号"#"包围或者是smarty的保留变量$smarty.config.来调用
{$smarty.now}取得当前时间戳,可以直接通过变量调节器date_format[格式化日期]输出显示
date_format转换标记:
标签:auto nts fine 配置 echo style 输出 位置 set
原文地址:http://www.cnblogs.com/xiaoming-6/p/6515914.html