21.4 Smarty程序设计

21.4 Smarty程序设计

视频讲解:光盘TMlx21Smarty程序设计.exe

通过前面的学习已经知道,在Smarty模板中是不推荐使用PHP代码段的,所有的PHP程序都要另写成文件。Smarty程序的功能主要分为两种:一种功能是和Smarty模板之间的交互,如方法assign、display;另一种功能就是配置Smarty,如变量template_dir、$config_dir等。本节就来学习Smarty程序设计的其他一些方法和配置参数。

21.4.1 Smarty中的常用方法

Smarty中除了使用assign和模板交互外,还有一些比较常用的方法。方法名称和功能说明如表21.3所示。

表21.3 Smarty程序设计常用方法和说明

这些方法在使用上和assign、display基本一样。下面以append方法为例进行讲解。

【例21.9】本例使用append方法向数组$arr中追加两个数组,第3个参数分别设为true和false,查看有什么不同。实例代码如下:(实例位置:光盘TMsl219)

//templates/09/index.html文件 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>{$title}</title> <link rel="stylesheet" href="../css/style.css" /> </head> <body> { foreach key=key item=item from=$arr } {$key} => {$item} <br /> { /foreach } </body> </html> //index.php文件 <?php include '../config.php'; $arr = array("object"=>'book', "type"=>'computer'); $str1 = array('name'=>'php'); $str2 = array('publishing'=>'qinghua'); $smarty->assign('title', ’使用append'); $smarty->assign('arr', $arr); $smarty->append('arr', $str1, true); $smarty->append('arr', $str2); $smarty->display('09/index.html'); ?>

运行结果如图21.10所示。

图21.10 使用append方法

21.4.2 Smarty的配置变量

Smarty中只有一个常量SMARTY_DIR,用来保存Smarty类库的完整路径,其他的所有配置信息都保存到相应的变量中。这里将介绍包括前面章节中接触过的$template_dir等变量的作用及设置。

$template_dir:模板目录。模板目录用来存放Smarty模板,在前面的实例中,所有的.html文件都是Smarty模板。模板的后缀没有要求,一般为.htm、.html等。

$compile_dir:编译目录。顾名思义,就是编译后的模板和PHP程序所生成的文件默认路径为当前执行文件所在的目录下的templates_c目录。进入到编译目录,可以发现许多“%%…%%index.html.php”格式的文件。随便打开一个这样的文件可以发现,实际上Smarty将模板和PHP程序又重新组合成一个混编页面。

$cache_dir:缓存目录。用来存放缓存文件。同样,在cache目录下可以看到生成的.html文件。如果caching变量开启,那么Smarty将直接从这里读取文件。

$config_dir:配置目录。该目录用来存放配置文件。例21.4中所用到的配置文件,就保存到这里。

$debugging:调试变量。该变量可以打开调试控制台。只要在配置文件(config.php)中将$smarty->debugging设为true即可使用。

$caching:缓存变量。该变量可以开启缓存。只要当前模板文件和配置文件未被改动,Smarty就直接从缓存目录中读取缓存文件而不重新编译模板。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

21.4 Smarty程序设计