使用smarty的几点体会 - smarty - IAE:Index Architectu...
最近应为网站开发的缘故,开始学习使用smarty,下面是我在实际使用过程中的几点体会,希望能对大家有所帮助。
(1)smarty的目录结构。smarty必须指定四个目录,分别是编译目录、缓存目录、配置文件存放目录和模板文件存放目录。你可以使用默认的目录,也可以自己重新定义。 下面是我参照《SmartestSmartyPractices 》这篇文章而设定的网站目录结构。(http://smarty.incutio.com/?page=SmartestSmartyPractices)
- /
- |--Cache: 存放网页缓存文件!
- |--Combile:存放编译过的脚本文件!
- |--Document:存放文档文件。
- | |--DataSource:存放相应的资料源文件,比如各种简介材料。
- | |--DesignDoc: 存放设计档案。
- | |--ImageSource:存放图片的源文件,一般是PNG或者PSD格式的图片。
- | |--Refrence:存放用phpDocumenter生成的网站的参考手册。
- |--Html:用户通过浏览器可以直接访问的网页文件。具体的目录根据实际的栏目而定。
- | |--Admin:网站管理程序。
- | |--Images:网站图片文件。
- | |--CSS:存放样式表文件。
- | |--
- | |--
- |--Include: 网站包含文件存放路径。
- |--Pear:存放Pear类文件。
- |--Smarty:存放Smarty类文件。
- |--Templates: 网页模板文件。
复制代码
(2)自动完成相应变量的设定。 可以对smarty类进行扩展,以便自动完成相应变量的设定。
- MySmarty.class.php文件。
- <?php
- define('SMARTY_DIR','/data2/web/Smarty/');
- require_once(SMARTY_DIR.'Smarty.class.php');
- class MySmarty extends Smarty
- {
- function MySmarty()
- {
- $this->Smarty();
- $this->template_dir = "/data2/web/Templates";
- $this->compile_dir = "/data2/web/Combile";
- $this->config_dir = "/data2/web/Include";
- $this->cache_dir = "/data2/web/Cache";
- }
- }
- ?>
复制代码
然后在其他文件里面包含MySmarty.class.php文件,就可以了。
(3)模板文件与dreamweaver的兼容问题。 {}标签里面的东西在DM中是无法正常显示的,可以有一个插件,将{}里面的东西显示为一个黄色的“S”,具体的附件在这个论坛里面有,以前我发过。
(4)如果你自己在使用Smarty,那么在程序和模板之间要注意相应文件的对应。以下是我使用DM维护页面和程序的方法。 比如:模板文件可以定义为一个站点,主要是用来做页面美工的设计,程序文件可以定义为另外一个站点,主要是写相应的程序文件。那么有一些公共的文件,就需要在这两个站点之间进行更新维护。一般来讲是需要将模板站点里面的一些图片、包含文件、样式表文件拷贝到程序站点里面对应的目录下面。
(5)缓存文件和编译教本文件的删除。 有的时候需要将编译过的脚本文件或者缓存文件删除,直接手工删除是删不掉的,(linux系统下面)。可以使用smarty 自身带的方法,不过我自己写了一小段程序,用来将编译过的教本完全是删除。
- $Path = "/data2/web/Combile/"; //Smarty的教本编译目录
- $DirID = opendir($Path);
- while($DirName = readdir($DirID))
- {
- if($DirName != "." and $DirName != "..")
- {
- exec("rm -fr ".$Path.$DirName);
- }
- }
复制代码 | |
|
| |
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。