php的模板库Smarty教程-1

简介:
首先是下载smarty库到你的电脑上,地址
 
下载后把libs里的东西拷贝到你的站点目录下,我这里是站点根目录/smarty文件夹。
 
这里和它同级的目录/php是我们的学习目录。
 
其他结构 /php/tmps放模板,/php/tmps_c放编译文件。
 
准备工作完成,
模板文件美工做好的页面,我们做下修改,按照通常习惯把html后缀改成tpl当然不改也没关系。
 
根据站点结构分成头部,主体和底部三部分。
 
头部header.tpl:
 
< !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=gbk"  /> 
< title >Smarty学习 </title> 
</head> 
< body >
 
底部footer.tpl:
 
</body> 
</html>
 
 
主体显示在body里的东西index.tpl:
 
{* 在Smarty里注释是用*星号 *} 
{include file="header.tpl"}{*包含头部*} 
你好, < span  style ="color:#900;" >{$name} </span>, 欢迎迈入Smarty学习殿堂。 
{include file="footer.tpl"}{*包含底部*}
 
除了那一堆由{和}定界符包含以外,其他我们发现和普通的html文件没什么区别。
 
大家知道php文件的定界符通常是<?php和?>,php解释器就是靠这些定界符知道,文件中哪些是php代码,哪些是正常的html代码,这样php代码会被解释执行,而html直接被输出给最终的浏览器使用。
那么smarty的代码和html代码混在一起,自然也要加以区分,于是这就是定界符的用处。
 
默认是{},当然可以修改。
 
然后php代码中注释怎么办呢,我们知道有//和/* */等。
这样
<?php //我是注释 ?>或者<?php /*我是php的注释*/ ?>
 
那么smarty的注释这样{ *我是smarty的注释* },对用星号。
 
 
看看调用文件/php/smarty1.php如何调用这些模板的吧。
 
InBlock.gif<?php 
InBlock.gifinclude_once( "../smarty/Smarty.class.php"); //包含smarty文件 
InBlock.gif$smarty= new Smarty(); 
InBlock.gif$smarty->template_dir= "../php/tmps"
InBlock.gif$smarty->compile_dir= "../php/tmps_c"
InBlock.gif 
InBlock.gif$smarty->assign( "name", "张三"); 
InBlock.gif 
InBlock.gif$smarty->display( "index.tpl");    
InBlock.gif?>
 
首先引入smarty类,注意你的文档结构,我这里smarty1.php文件和smarty文件夹不在同一层次用的../  ,然后的使用和普通的类一样,注意,需要指定你的模板文件夹位置和编译文件输出目录。
接着为变量$name赋值,就是,index.tpl里{$name}中的$name.
 最后显示。
 
 
 
修改定界符:
 
InBlock.gif<?php 
InBlock.gifinclude_once( "../smarty/Smarty.class.php"); //包含smarty文件 
InBlock.gif$smarty= new Smarty(); 
InBlock.gif$smarty->template_dir= "../php/tmps"
InBlock.gif$smarty->compile_dir= "../php/tmps_c"
InBlock.gif 
InBlock.gif$smarty->left_delimiter= "<{"; //左定界符 
InBlock.gif$smarty->right_delimiter= "}>"; //右定界符 
InBlock.gif$smarty->assign( "name", "张三"); 
InBlock.gif 
InBlock.gif$smarty->display( "index.tpl");    
InBlock.gif?>
 
 
修改模板:
 
< {* 在Smarty里注释是用*星号 *} > 
< {include  file ="header.tpl"} > < {*包含头部*} > 
你好, < span  style ="color:#900;" > < {$name} > </span>, 欢迎迈入Smarty学习殿堂。 
< {include  file ="footer.tpl"} > < {*包含底部*} >
 







本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/111041,如需转载请自行联系原作者

相关文章
|
5月前
|
应用服务中间件 PHP nginx
|
5月前
|
安全 小程序 PHP
PHP代码审计(七)Rips源代码审计系统使用教程
上一篇中提到的Seay源代码审计系统是由C#编写的winform程序,现在已经停止更新了,但是,还是比较好用的。 PHP代码审计还有另一个工具,也是一个神器Rips
173 0
|
5月前
|
安全 小程序 PHP
PHP代码审计(六)Seay源代码审计系统使用教程
www.cnseay.com/ 当然,这个已经不能访问了。 软件的版本比较早,需要.NET framework3.5框架,我这里是软件启动的时候自动提醒安装,如果没有自动提醒,那么你需要手动安装.NET frameWork3.5框架,否则,程序应该是没有办法运行。
385 0
|
8月前
|
安全 Java PHP
PHP/JAVA交易所系统开发(成熟案例)丨需求步骤丨指南详细丨方案逻辑丨逻辑教程丨源码功能
An exchange refers to an institution or platform that provides a centralized market for buying and selling transactions, where participants can trade various assets, such as securities, commodities, cryptocurrencies, etc. Exchanges provide market infrastructure and rules to facilitate compliant, saf
|
9天前
|
IDE 网络安全 PHP
IJ中PHP环境的搭建和使用教程
搭建PHP环境与配置IDE,在学习网络安全的过程中,了解并掌握编程语言是必要的。本文主要介绍了如何搭建PHP开发环境以及在IntelliJ IDEA (IJ) 中配置PHP环境,以方便进行PHP代码的编写和测试。本章是在学习网络安全过程中,我们需要对两门编程语言有所了解,今天要进行的就是其中的一门.
|
2月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
8月前
|
关系型数据库 MySQL Linux
百度搜索:蓝易云【Centos8 stream系统编译安装PHP教程。】
以上是在CentOS 8 Stream系统上编译安装PHP的基本教程。请注意,具体的配置和参数可能因您的需求而有所不同,您可以根据自己的情况进行调整。同时,请确保在执行任何操作之前备份重要的文件和配置。
226 0
|
4月前
|
开发框架 前端开发 搜索推荐
分享97个框架模板PHP源码,总有一款适合你
分享97个框架模板PHP源码,总有一款适合你
40 2
|
5月前
|
存储 JavaScript 前端开发
百度搜索:蓝易云【php设置和获取Cookie教程。】
需要注意的是,为了确保在向浏览器发送任何输出之前设置Cookie,应该在 `<html>`标签之前或PHP脚本的顶部设置Cookie。
75 0