本人实习一个月经验分享(二)-------smarty模板
2009-12-16 19:19
218 查看
给大家说说我理解的smarty模板,smarty模板就是将动态和静态的分离,而不像传统的html代码和php代码写到一起的形式,前台和后台的结构不够清晰,如图下:
首先,下载smarty模板,然后将其中的libs文件复制到你的apache的documentroot指定文件夹下,最好将文件名修改为Smarty方便辨认,Smarty.class.php,这个类就是smarty的core,所有的使用的方法都是从这个类引用的
然后说下smarty的配置,首先在文件夹创建一个文件index.php,这个文件相当于动态和静态文件的结合,然后我们引入smarty.class.php这个中心类,因为我们需要在Smarty这个文件夹下分别创建四个文件夹templates ,templates_c,configs和cache 分别是模版文件夹 编译文件夹 特殊配置文件夹 和缓存文件夹,这四个是需要我们自己创建的,
创建好后,我们需要在index.php中创建一个Smarty的类,具体的代码如下:
define("BASE_PATH",$SERVER[DOCUMENT_ROOT]); //定义Smarty文件夹的路径
require_once(BASE_PATH.'/Smarty.class.php'); //加载Smarty类文件
$smarty = new Smarty(); //创建Smarty类
$smarty -> temlate_dir = "****"; // **** 为templates文件夹的路径
$smarty -> compile_dir = "****" ; // ****为templates_c文件夹的路径
$smarty -> config_dir ="****"; //****为configs的文件夹路径
$smarty -> cache_dir = "****"; // ****为cache的文件夹路径
注:temlate_dir,compile_dir,config_dir ,cache_dir 分别为Smarty类的路径,可以在smarty.class.php查到
$smarty ->$left_delimiter ="{"; //这个是模板里识别编译变量的左识别符
$smarty ->$right_delimiter ="}"//这个是模板里识别编译变量的右识别符
注:左右识别符中的即为要编译的变量
$smarty ->assign("title","smarty模板教程");
$smarty ->assign("content","欢迎学习smarty模板教程!!!");
注:assign是smarty里的一个很重要的方法,是给变量赋予值,当要赋予的值很多的时候,不需要重复的使用assign方法 那样会冗余,解决的办法是使用数组包含要赋予的变量和值,只需一个assign就可以搞定
$smarty ->display("index.tpl/html");
注:这也是个很重要的方法,是向index.php内加载index模板,模板的后缀名无限制,以易记为宜!!!
OK,配置成功了,这时在templates下创建一个index.tpl/html文件里面写如下信息:
<title>{$title}</title>
<body>
{$content}
</body>
好了,在网址输入localhost/Smarty 你就可以看到下面的信息了:
欢迎学习smarty模板教程!!!
因此,现在前台美工可以在templates写静态的模板而php程序员在index.php里添加相应的变量就好了,实现了分离的目的!!!
首先,下载smarty模板,然后将其中的libs文件复制到你的apache的documentroot指定文件夹下,最好将文件名修改为Smarty方便辨认,Smarty.class.php,这个类就是smarty的core,所有的使用的方法都是从这个类引用的
然后说下smarty的配置,首先在文件夹创建一个文件index.php,这个文件相当于动态和静态文件的结合,然后我们引入smarty.class.php这个中心类,因为我们需要在Smarty这个文件夹下分别创建四个文件夹templates ,templates_c,configs和cache 分别是模版文件夹 编译文件夹 特殊配置文件夹 和缓存文件夹,这四个是需要我们自己创建的,
创建好后,我们需要在index.php中创建一个Smarty的类,具体的代码如下:
define("BASE_PATH",$SERVER[DOCUMENT_ROOT]); //定义Smarty文件夹的路径
require_once(BASE_PATH.'/Smarty.class.php'); //加载Smarty类文件
$smarty = new Smarty(); //创建Smarty类
$smarty -> temlate_dir = "****"; // **** 为templates文件夹的路径
$smarty -> compile_dir = "****" ; // ****为templates_c文件夹的路径
$smarty -> config_dir ="****"; //****为configs的文件夹路径
$smarty -> cache_dir = "****"; // ****为cache的文件夹路径
注:temlate_dir,compile_dir,config_dir ,cache_dir 分别为Smarty类的路径,可以在smarty.class.php查到
$smarty ->$left_delimiter ="{"; //这个是模板里识别编译变量的左识别符
$smarty ->$right_delimiter ="}"//这个是模板里识别编译变量的右识别符
注:左右识别符中的即为要编译的变量
$smarty ->assign("title","smarty模板教程");
$smarty ->assign("content","欢迎学习smarty模板教程!!!");
注:assign是smarty里的一个很重要的方法,是给变量赋予值,当要赋予的值很多的时候,不需要重复的使用assign方法 那样会冗余,解决的办法是使用数组包含要赋予的变量和值,只需一个assign就可以搞定
$smarty ->display("index.tpl/html");
注:这也是个很重要的方法,是向index.php内加载index模板,模板的后缀名无限制,以易记为宜!!!
OK,配置成功了,这时在templates下创建一个index.tpl/html文件里面写如下信息:
<title>{$title}</title>
<body>
{$content}
</body>
好了,在网址输入localhost/Smarty 你就可以看到下面的信息了:
欢迎学习smarty模板教程!!!
因此,现在前台美工可以在templates写静态的模板而php程序员在index.php里添加相应的变量就好了,实现了分离的目的!!!
相关文章推荐
- 本人实习一个月经验分享(三)-------codeigniter框架
- 本人实习一个月经验分享(一)-------ubuntu操作和svn版本控制
- [比赛记录] 主流机器学习模型模板代码+经验分享[xgb, lgb, Keras, LR]
- 写作模板]Jelly117分经验分享之——独立写作模板终极版
- 2016年阿里巴巴、腾讯等公司暑期实习面试经验分享
- 对学生的建议:如何做好研究 | 2008校园招聘网 - 实习与笔试面试经验分享 - UNUS.CN
- 主流机器学习模型模板代码+经验分享[xgb, lgb, Keras, LR]
- 实习总结2-有的放矢(经验分享1)
- 分享自己去年毕业,Java实习找工作的一些经验!
- 2014阿里交互设计实习笔试面试(笔者止步2面)抛砖引玉坐等拿到Offer的童鞋分享经验
- 主流机器学习模型模板代码+经验分享[xgb, lgb, Keras, LR]
- 转载:香港实习生微软实习经验分享
- 微信分享和模板消息中的经验
- 分享一下本人的PR提升经验
- C#"CodeSmith代码批量生成模板"制作经验分享
- C#"CodeSmith代码批量生成模板"制作经验分享
- C#"CodeSmith代码批量生成模板"制作经验分享
- 关于PHP模板Smarty的初级使用方法以及心得分享
- 我的美国(北美)计算机CS实习面试经验分享
- PHP中MVC模式的模板引擎开发经验分享