《第21章节02smarty的安装配置》由会员分享,可在线阅读,更多相关《第21章节02smarty的安装配置(6页珍藏版)》请在金锄头文库上搜索。
1、Smarty的安装配置,本讲大纲:,1、Smarty下载和安装 2、第一个Smarty程序 3、Smarty配置,支持网站:,Smarty下载和安装,PHP没有内置Smarty模板类,需要单独下载和配置,而且Smarty要求服务器上的PHP版本最低为4.0.6。用户可以通过访问http:/smarty.php.,net/download.php下载最新的Smarty压缩包。本章使用的版本是Smarty-2.6.19。 将压缩包解压后,得到一个libs目录,其中包含了Smarty类库的核心文件,包括smarty.class.php、smarty_Compiler.class.php、config
2、_File.class.php和debug.html 4个文件,另外还有internals和plug-ins两个目录。复制libs目录到服务器根目录下,并为其重命名,一般该目录的名称为smarty或class等,这里改为smarty。至此,Smarty模板安装完毕。,第一个Smarty程序,使用Smarty模板不像Smarty手册或有些书籍中讲的那么复杂、繁琐。这里先实现第一个Smarty实例,并对过程进行讲解。对Smarty有了初步了解后,再学习Smarty的配置信息。,Smarty配置,下面详细讲解Smarty模板的配置步骤: (1)确定Smarty目录的位置。因为Smarty类库是通用的
3、,每一个项目都可能会使用到它,所以将Smarty存储在根目录下。 (2)新建4个目录templates、templates_c、configs和cache。其中目录templates存储项目的模板文件,该目录具体放置在什么位置没有严格的规定,只要设置的路径正确即可;目录templates_c存储项目的编译文件;目录configs存储项目的配置文件;目录cache存储项目的缓存文件。 (3)创建配置文件。如果要应用Smarty模板,就一定要包含Smarty类库和相关信息。将配置信息写到一个文件中,使用时只要include配置文件即可。配置文件config.php的代码如下: template_d
4、ir = BASE_PATH.SMARTY_PATH.templates/; $smarty-compile_dir = BASE_PATH.SMARTY_PATH.templates_c/; $smarty-config_dir = BASE_PATH.SMARTY_PATH.configs/; $smarty-cache_dir = BASE_PATH.SMARTY_PATH.cache/; ?,Smarty配置,上述配置文件的参数说明如下: BASE_PATH:指定服务器的绝对路径。 SMARTY_PATH:指定Smarty目录的绝对路径。 require:加载Smarty类库文件Sma
5、rty.class.php。 $smarty:实例化Smarty对象。 $smarty-template_dir:定义模板目录存储位置。 $smarty- compile_dir:定义编译目录存储位置。 $smarty- config_dir:定义配置文件存储位置。 $smarty- cache_dir:定义模板缓存目录。 有关定界符的使用,开发者可以指定任意的格式,也可以不指定定界符,使用Smarty默认的定界符“”和“”。 至此,Smarty的配置讲解完毕。 (4)assign方法。 assign用于在模板被执行时为模板变量赋值。语法格式如下: assign var=“ “ value=“
6、 “ 参数var是被赋值的变量名,参数value是赋给变量的值。 (5)display方法。 display方法用于显示模板,需要指定一个合法的模板资源的类型和路径。还可以通过第二个可选参数指定一个缓存号,相关的信息可以查看缓存。 void display (string template , string cache_id , string compile_id) 参数template指定一个合法的模板资源的类型和路径,参数cache_id为可选参数,指定一个缓存号。 参数compile_id为可选参数,用于指定编译号。编译号可以将一个模板编译成不同版本使用。例如,可针对不同的语言编译模板。编译号的另外一个作用是,如果存在多个$template_dir模板目录,但只有一个$compile_dir编译后存档目录,这时可以为每一个$template_dir模板目录指定一个编译号,以避免相同的模板文件在编译后互相覆盖。相对于在每一次调用display()时都指定编译号,也可以通过设置$compile_id编译号属性来一次性设定。,Thank you,还有什么疑问可以到提出 也可以发送邮件到 ,