打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用smarty的几点体会 - smarty - IAE:Index Architectu...

使用smarty的几点体会

最近应为网站开发的缘故,开始学习使用smarty,下面是我在实际使用过程中的几点体会,希望能对大家有所帮助。

(1)smarty的目录结构。smarty必须指定四个目录,分别是编译目录、缓存目录、配置文件存放目录和模板文件存放目录。你可以使用默认的目录,也可以自己重新定义
下面是我参照《SmartestSmartyPractices 》这篇文章而设定的网站目录结构。(http://smarty.incutio.com/?page=SmartestSmartyPractices)

  1. /
  2. |--Cache: 存放网页缓存文件!
  3. |--Combile:存放编译过的脚本文件!
  4. |--Document:存放文档文件。
  5. |    |--DataSource:存放相应的资料源文件,比如各种简介材料。
  6. |    |--DesignDoc: 存放设计档案。
  7. |    |--ImageSource:存放图片的源文件,一般是PNG或者PSD格式的图片。
  8. |    |--Refrence:存放用phpDocumenter生成的网站的参考手册。
  9. |--Html:用户通过浏览器可以直接访问的网页文件。具体的目录根据实际的栏目而定。
  10. |    |--Admin:网站管理程序。
  11. |    |--Images:网站图片文件。
  12. |    |--CSS:存放样式表文件。
  13. |    |--
  14. |    |--
  15. |--Include: 网站包含文件存放路径。
  16. |--Pear:存放Pear类文件。
  17. |--Smarty:存放Smarty类文件。
  18. |--Templates: 网页模板文件。
复制代码



(2)自动完成相应变量的设定。
可以对smarty类进行扩展,以便自动完成相应变量的设定。

  1. MySmarty.class.php文件。
  2. <?php
  3. define('SMARTY_DIR','/data2/web/Smarty/');
  4. require_once(SMARTY_DIR.'Smarty.class.php');
  5. class MySmarty extends Smarty
  6.    {
  7.      function MySmarty()
  8.      {
  9.        $this->Smarty();
  10.        $this->template_dir = "/data2/web/Templates";
  11.        $this->compile_dir   = "/data2/web/Combile";
  12.        $this->config_dir     = "/data2/web/Include";
  13.        $this->cache_dir     = "/data2/web/Cache";         
  14.      }
  15.    }
  16. ?>
复制代码


然后在其他文件里面包含MySmarty.class.php文件,就可以了。

(3)模板文件与dreamweaver的兼容问题。
{}标签里面的东西在DM中是无法正常显示的,可以有一个插件,将{}里面的东西显示为一个黄色的“S”,具体的附件在这个论坛里面有,以前我发过。

(4)如果你自己在使用Smarty,那么在程序和模板之间要注意相应文件的对应。以下是我使用DM维护页面和程序的方法。
比如:模板文件可以定义为一个站点,主要是用来做页面美工的设计,程序文件可以定义为另外一个站点,主要是写相应的程序文件。那么有一些公共的文件,就需要在这两个站点之间进行更新维护。一般来讲是需要将模板站点里面的一些图片、包含文件、样式表文件拷贝到程序站点里面对应的目录下面。

(5)缓存文件和编译教本文件的删除。
有的时候需要将编译过的脚本文件或者缓存文件删除,直接手工删除是删不掉的,(linux系统下面)。可以使用smarty 自身带的方法,不过我自己写了一小段程序,用来将编译过的教本完全是删除。

  1.   $Path = "/data2/web/Combile/";  //Smarty的教本编译目录
  2.   $DirID = opendir($Path);
  3.   while($DirName = readdir($DirID))
  4.   {
  5.           if($DirName != "." and $DirName != "..")
  6.           {
  7.                    exec("rm -fr ".$Path.$DirName);
  8.     }
  9.   }
复制代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHP模板之Smarty安装与使用入门教程 | PHP网站开发
Smarty3.1.18的配置和简单使用
smarty模板技术
Smarty
smarty模板目录结构与路径问题
smarty半小时快速上手教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服