安装下载最新的稳定版(Latest Stable Release):
http://www.smarty.net/download.php
网上好多地方地址都是 smarty.php.net,其实已经搬家了,可能是做大了,想独立吧。
但Smarty的主要研发人员是PHP研发组的主要成员,所以可以保证Smarty紧跟PHP的潮流,算是本家的,这点可以放心。
安装其实就是解压-复制-配置-重启HTTP服务这4步。
1. 解压缩下载下来的文件包
2. 找到里面的libs文件夹,把它拷贝到服务器的某个文件夹下,如:/var/www/smarty/libs
3. 找到php配置文件,Linux下可能是 /etc/php.ini,Windows下可能是:\windows\php.ini
修改其中的include_path一节,把前面的“;”去掉,再去掉没用(根本不存在)的路径,加上第二步拷贝到的那个文件夹。注意:Windows下用分号(;)分割多个路径,Linux下用冒号(:)。
4. 重启HTTP服务,Linux下 执行 service httpd stop和service httpd start即可,Windows里自己重启一下IIS即可。
说明:以上步骤做完之后所有网站中使用Smarty就很简单,只需要一句话:
include_once(“Smarty.class.php”);
另外的一种安装方法主要用于使用虚拟主机的网站,人家没用配置Smarty支持,有没用办法随便操作人家的服务器,就只能把上述libs文件夹上传到自己的网站目录下,然后用网站的绝对路径或者相对路径来引用Smarty,如:
include_once(“./libs/Smarty.class.php”);
两种方法的区别就是:第一种使用PHP的配置,让PHP自己找具体的路径,第二种要自己给出具体的Smarty库的路径。
牛刀小试 — 第一个例子
first.php 的内容
<?php include_once("Smarty.class.php"); //包含smarty类文件 $smarty = new Smarty(); //建立smarty实例对象$smarty $smarty->template_dir = "./templates/";//设置模板目录 $smarty->compile_dir = "./templates_c/"; //设置编译目录 $smarty->left_delimiter = "{"; $smarty->right_delimiter = "}"; $smarty->assign("name", "王老五"); //进行模板变量赋值 //编译并显示位于./templates下的index.tpl模板 $smarty->display("first.tpl"); ?>
./templates/first.tpl 的内容:
大家好,我叫{$name},这是我的第一个Smarty页面。
访问一下 first.php,应该显示:
大家好,我叫王老五,这是我的第一个Smarty页面。
这么简单就搞定了Smarty,爽吧。那样就错了,这只是个原理,真正的使用可没那么简单。
使用Smarty
Smarty的使用说简单也简单,说复杂也复杂。说她简单是因为做个Demo很容易,说她复杂是因为她也是一种脚本语言,也要经过认真的学习和应用才能真正发挥她的神奇作用。我这样的菜鸟目前只能望之兴叹了,好在还年轻,才三四十岁(呜呜呜),慢慢来吧。
常见问题
1. 没有把模板文件放到指定的模板文件夹中
$smarty->display(“temp.tpl”);
Smarty只能去你给定的模板文件夹中去找模板文件,不会在你的当前文件夹下找。
2. 没有给模板编译文件夹指定创建文件和写入权限
Smarty会先编译模板文件,并存放到你指定的模板编译文件夹下,如果这个文件夹不存在,或者没有创建文件和写入权限,当然就执行不动了。
3. 待补充